利用java.util.StringTokenizer的方法,可以将一个字符串拆分为一系列的标记(token)。StringTokenizer是为了兼容性原因而保留的遗留类。在新的代码中,不建议使用StringTokenizer,而建议使用String类的split方法来完成拆分的功能。
用StringTokenizer(String str)形式的构造函数构造一个StringTokenizer,利用了默认的分割字符集" \t\n\r\f"
,分别是:空白字符、tab字符、新行字符、回车字符、换页符(form-feed character)。分割符本身不作为标记。
package com.thb;
import java.util.StringTokenizer;
public class Demo2 {
public static void main(String[] args) {
StringTokenizer tokenizer = new StringTokenizer("That is very nice");
while (tokenizer.hasMoreElements()) {
System.out.println(tokenizer.nextElement());
}
}
}
运行输出:
That
is
very
nice
上面的功能用String的split函数实现:
package com.thb;
public class Demo3 {
public static void main(String[] args) {
String[] result = "That is very nice".split("\\s");
for (int i = 0; i < result.length; i++) {
System.out.println(result[i]);
}
}
}
运行输出:
That
is
very
nice
用StringTokenizer(String str, String delim)形式的构造函数构造一个StringTokenizer,指定了分割字符集delim,分割符本身不作为标记。
package com.thb;
import java.util.StringTokenizer;
public class Demo2 {
public static void main(String[] args) {
String str = "num1=10&num2=20";
StringTokenizer tokenizer = new StringTokenizer(str, "=&/");
while (tokenizer.hasMoreElements()) {
System.out.println(tokenizer.nextToken());
}
}
}
运行输出:
num1
10
num2
20