知识大全 关于java.util.regex 包中新增字符替换方法的比较

Posted 字符

篇首语:人格成熟的重要标志:宽容、忍让、和善。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 关于java.util.regex 包中新增字符替换方法的比较相关的知识,希望对你有一定的参考价值。

   代码如下:  import java util regex *;    public class regex      public regex()           public static String replaceByRegex (String input String toChg String chgTo)       StringBuffer sb = null;      if (input==null||input length()== ) return input;      if (toChg==null||toChg length()== ) return input;      Pattern chagePattern = pile(toChg);      Matcher inputMatcher = chagePattern matcher(input);      sb = new StringBuffer();      while (inputMatcher find())        inputMatcher appendReplacement(sb chgTo);            inputMatcher appendTail(sb);      return sb toString();          public static String replaceByStringBuffer(String _old String _str String _new)           if (_old==null) return null;      StringBuffer _temp=new StringBuffer();      int i= ;      int j= ;       while((j=_old indexOf(_str ))!= )               _temp append(_old substring( j)+_new);        _old=_old substring(j+_str length());             _temp append( _old);      return _temp toString();            public static String replaceByString(String _old String _str String _new)             if (_old==null) return null;       String _temp= ;       int i= ;       int j= ;        while((j=_old indexOf(_str ))!= )                 _temp+=_old substring( j)+_new;         _old=_old substring(j+_str length());               _temp+=_old;       return _temp;          public static void main(String[] args) throws Throwable       String tmp = the the ii bb ttisc hisadf oeoflaksdjflkjeivnlaskdfjiieiah ;      long t = System currentTimeMillis();      for (int i= ;i< ;i++ regex replaceByStringBuffer(tmp i WW ));      System out println( replace it by string buffer : +(System currentTimeMillis() t));      t = System currentTimeMillis();      for (int i= ;i< ;i++ regex replaceByString(tmp i WW ));      System out println( replace it by string : +(System currentTimeMillis() t));      t = System currentTimeMillis();      for (int i= ;i< ;i++ regex replaceByRegex(tmp i WW ));      System out println( replace it by regex : +(System currentTimeMillis() t));              测试结果:  replace it by string buffer :     replace it by string :     replace it by regex :     可见 在 String比较大的情况下替换性能差异将更大     其中subString 也会降低处理的性能 在可能的情况下可以使用charAt 这里只是做个测试    不过在一般数据量不大 以及使用频率不高的情况下regex有着更强大的功能 cha138/Article/program/Java/JSP/201311/19241

相关参考

知识大全 如何在豆瓣读书中新增已经读过的书籍

如何在豆瓣读书中新增已经读过的书籍具体步骤:登入豆瓣账号,在豆瓣读书上看到任何读过或想读的书,可以按“在读”、“想读”或者“读过”把它列入“我读”页面,还可以顺便给它打分、新增标签或者个人的附注。2.

知识大全 浏览.NET Framework 2.0 类型库中新增的常用功能

浏览.NETFramework2.0类型库中新增的常用功能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 c#2.0中新增的两个压缩类

class clsZip            public 

新《安全生产法》规定,生产经营单位对从业人员进行安全生产教育和培训中新增内容有()。

新《安全生产法》规定,生产经营单位对从业人员进行安全生产教育和培训中新增内容有()。A.保证从业人员具备必要的安全生产知识B.熟悉有关的安全生产规章制度和安全操作规程C.掌握本岗位的安全操作技能D.了

新《安全生产法》规定,生产经营单位对从业人员进行安全生产教育和培训中新增内容有()。

新《安全生产法》规定,生产经营单位对从业人员进行安全生产教育和培训中新增内容有()。A.保证从业人员具备必要的安全生产知识B.熟悉有关的安全生产规章制度和安全操作规程C.掌握本岗位的安全操作技能D.了

知识大全 关于Eclipse中新建菜单的实现方法

关于Eclipse中新建菜单的实现方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  新建菜单里

知识大全 asp 验证用户名是否包含有非常字符的函数

<%******************************函数IsValidUserName(byVal UserName)参数UserName用户名称作者阿里西西日期//描述验

知识大全 java关于split分割字符串 空字符串不能得到的问题

  classT  publicstaticvoidmain(Stringargs[])  Stringnum[]=newString[];  StringsLine=||//|周润英||||||||

知识大全 关于excel公式

急!关于excel公式D2中的右边4个字符和D2中的第四个字符开始的2个字符和D2的最左边2个字符,用-号隔开,合并成一个新的字符串你把这个公式复制在不是D2的单元格中,就行了,不过D2中最好不为空补

知识大全 关于字符串的几个有用函数

  测试字符串长度(中英文)  functionstrLen(s) varistrstrstrnLen; str=svalue; nLen=; for(i=;i