Java中String类可以分解字符串,使用substring方法返回原字符串的子字符串。如果我们需要将字符串分解成一个一个的单词或者标记的话,此时就可以使用到Java中的StringTokenizer类。
StringTokenizer有两个常用的方法:
1.hasMoreElements()。这个方法和hasMoreElements()方法的用法是一样的,只是StringTokenizer为了实现Enumeration接口而实现的方法,从StringTokenizer的声明可以看到:public class StringTokenizer implements Enumeration<Object>。
2.nextElement()。这个方法和nextToken()方法的用法是一样的,返回此 StringTokenizer 的下一个标记。
先来看看其构造函数:三种情况
1:默认以” \t\n\r\f”(前有一个空格,引号不是)为分割符。
public StringTokenizer(String str) {
this(str, " \t\n\r\f", false);
}
2:public StringTokenizer(String str, String delim) {
this(str, delim, false);
}
3:public StringTokenizer(String str, String delim, boolean returnDelims)。returnDelims为true的话则delim分割符也被视为标记。
以下是两个实例:
一: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
二: String str = new String("The=Java=platform=is=the=ideal=platform=for=network=computing");
StringTokenizer stz = new StringTokenizer(str,"=",true);//flag indicating whether to return the delimiters as tokens
System.out.println( "Token Total: " + stz.countTokens() );
while( stz.hasMoreElements() ){
System.out.println( stz.nextElement() );
}
输出结果为:
Token Total: 19
The
=
Java
=
platform
=
is
=
the
=
ideal
=
platform
=
for
=
network
=
computing