假设我们须要将字符串分解成一个一个的单词或者标记的话,此时就能够使用到Java中的StringTokenizer类。
StringTokenizer有两个经常使用的方法:
1.hasMoreElements()。
这种方法和hasMoreElements()方法的使用方法是一样的,仅仅是StringTokenizer为了实现Enumeration接口而实现的方法。从StringTokenizer的声明能够看到:public class StringTokenizer implements Enumeration<Object>。
2.nextElement()。这种方法和nextToken()方法的使用方法是一样的,返回此 StringTokenizer 的下一个标记。
先来看看其构造函数:三种情况
1:默认以”
f”(前有一个空格。引號不是)为切割符。
public StringTokenizer(String str) {
this(str, "
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