java字符串分隔符split/StringTokenizer

时间:2021-08-22 22:14:42
<!>比较两种表示法
利用split函数:
  1. String s = new String ( " 2_8_7_4_3_9_1 " ) ;
  2. String []   arr = s . split ( " _ " ) ;
●利用StringTokenizer类:
  1. String s = new String ( " 2_8_7_4_3_9_1 " ) ;
  2. StringTokenizer   commaToker = new StringTokenizer ( s , " _ " ) ;
  3. String []   arr = new String [ commaToker . countTokens ()] ;
<2>split用法详解
在java.lang包中有String.split()方法,返回是一个数组
我在应用中用到一些,给大家总结一下,仅供大家参考:
1、如果用“.”作为分隔的话,必须是如下写法:String.split("//."),这样才能正确的分隔开,不能用String.split(".");
2、如果用“|”作为分隔的话,必须是如下写法:String.split("//|"),这样才能正确的分隔开,不能用String.split("|");
“.”和“|”都是转义字符,必须得加"//";
3、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“acount=? and uu =? or n=?”,把三个都分隔出来,可以用String.split("and|or");

测试程序如下:
public class StringSplit {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  String a="acount=? and uu =? or n=?";
  String b[]=a.split("and|or");
  for(int i=0;i<=b.length;i++)
  {
   System.out.println(b[i]);
  }
  
 }
}
输出结果:

acount=?
 uu =?
 n=?
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
 at com.ljj.string.StringSplit.main(StringSplit.java:14)