StringTokenizer:字符串分隔解析类型 属于:java.util包。
1、构造函数。
1. StringTokenizer(String str) :构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘/t’)”、“换行符(‘/n’)”、“回车符(‘/r’)”。 2. StringTokenizer(String str, String delim) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。 3. StringTokenizer(String str, String delim, boolean returnDelims) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。
2、方法。 说明: 1. 所有方法均为public; 2. 书写格式:[修饰符] <返回类型> <方法名([参数列表])> 如: static int parseInt(String s) 表示:此方法(parseInt)为类方法(static),返回类型为(int),方法所需参数为String类型。
1. int countTokens() :返回nextToken方法被调用的次数。如果采用构造函数1和2,返回的就是分隔符数量(例2)。 2. boolean hasMoreTokens() :返回是否还有分隔符。 3. boolean hasMoreElements() :结果同2。 4. String nextToken() :返回从当前位置到下一个分隔符的字符串。 5. Object nextElement() :结果同4。 6. String nextToken(String delim) :与4类似,以指定的分隔符返回结果。
例子: 代码: String s = new String("The Java platform is the ideal platform for network computing"); StringTokenizer st = new StringTokenizer(s); System.out.println( "Token Total: " + st.countTokens() ); while( st.hasMoreElements() ){ System.out.println( st.nextToken() ); } 结果为: Token Total: 10 The Java platform is the ideal platform for network computing
例2: 代码: String s = new String("The=Java=platform=is=the=ideal=platform=for=network=computing"); StringTokenizer st = new StringTokenizer(s,"=",true); System.out.println( "Token Total: " + st.countTokens() ); while( st.hasMoreElements() ){ System.out.println( st.nextToken() ); } 结果为: Token Total: 19 The = Java = platform = is = the = ideal = platform = for = network = computing
例3: 代码: public static void main(String[] args) { // TODO Auto-generated method stub String abc="abc|def|efg|d||aaa|sadfsd||fsdf"; StringTokenizer st=new StringTokenizer(abc,"|"); for(int i=0;st.hasMoreTokens();i++){ System.out.println("result : "+st.nextToken()); } String[] str_abc=abc.split("|"); for (int j=0;j<str_abc.length;j++){ System.out.println("split() result : "+str_abc[j]); } //split() 分不开“|”,StringTokenizer 可以分开 //split方法的参数是一个正则表达式,特殊字符的话一般加 //就ok,例如 //"123?456".split("//?");就ok //string[] str_abc=abc.split("|"); //这句有错,正确的为 //string[] str_abc=abc.split("//|"); }