行业新闻 网站公告

java中String字符串的分割

来源:作者:盈灿科技

方法1.
    split()方法,比较常见和常用,功能非常强大,不仅可以传入单个的分隔符,还能传入一个正则表达式。比如字符串“a,b;c.d”,把[,|;|.]正则表达式当参数传入即可分割成"a""b""c""d"四个子串。
    不过,对于常见的简单的字符串分割功能而言,其性能表现不算优异,比如较大的循环中频繁操作就会表现不佳,如果系统性能敏感的话不适宜使用该方法。
 
方法2.
    StringTokenizer()方法
    典型构造函数StringTokenizer(String str, String delim)//参数为源字符串和分隔符
    简单的字符串分割时,性能比split()优秀一些。
    示例:
StringTokenizer st = new StringTokenizer(orgstr, ";");
  for(int i=0; i<100; i++){
   while(st.hasMoreTokens()){
    st.nextToken();
   }
   st = new StringTokenizer(orgstr, ";");
  }
 
 
方法3.
    indexOf()和subString()的算法都非常快,利用这两个方法进行字符串分割速度会很快,但是相应的需要自己编写分割方法的代码,增加了繁琐性。我测试发现较之前面两个方法,这种方法的效率确实提高了好几个量级。
    示例:
     for(int i=0; i<100; i++){
   while(true){
    String splitstr = null;
    int j = temp.indexOf(';');
    if(j<0) break;
    splitstr = temp.substring(0,j);
    temp =temp.substring(j+1);
   }
   temp = orgstr;
  }