StringTokenizer是一個用來分隔String的應用類
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. 方法簡介
int countTokens():返回nextToken方法被調用的次數。如果採用構造函數1和2,返回的就是分隔符數量
boolean hasMoreElements():返回是否還有分隔符。
boolean hasMoreTokens():同上
String nextToken():返回從當前位置到下一個分隔符的字符串。
Object nextElement():結果同上,除非生命返回的是Object而不是String
String nextToken(String delim):同nextToken(),以指定的分隔符返回結果
例:
String s = new String("This is a test string"); StringTokenizer st = new StringTokenizer(s); System.out.println( "Token Total: " + st.countTokens() ); while( st.hasMoreElements() ){ System.out.println(st.nextToken()); }
例2:
String str = "100|66,55:200|567,90:102|43,54"; StringTokenizer strToke = new StringTokenizer(str, ":,|");// 默認不打印分隔符 // StringTokenizer strToke=new StringTokenizer(str,":,|",true);//打印分隔符 // StringTokenizer strToke=new StringTokenizer(str,":,|",false);//不打印分隔符 while(strToke.hasMoreTokens()){ System.out.println(strToke.nextToken()); }
注意,StringTokenizer的分隔符不需要使用轉義字符
3.與split的區別
String.Split()使用正則表達式,而StringTokenizer的只是使用逐字分裂的字符。
如果不用正則表達式(StringTokenizer也不能使用正則表達式),StringTokenizer在截取字符串中的效率最高。