-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
示例代码如下,代码说明请看注释:
/*
* @(#) TestStringTokenizer.java
* by James Fancy
* on 2003-9-27
*/
import java.util.StringTokenizer;
/**
* <code>TestStringTokenizer</code> 类给出了三个示例,
* 演示了 StringTokenizer 类 的常见用法。
*
* @author James Fancy on 2003-9-27 9:12:34
*/
public final class TestStringTokenizer {
public final static void main(String[] args) {
TestStringTokenizer test = new TestStringTokenizer();
test.test1();
test.test2();
test.test3();
}
String source = "abcdefg;hijklmn|opqrst,uvw.xyz";
String source3 = "The file "
Good Java Code.txt " is in dir" + " "
My Documents " of volume "
Doc Volume "";
String delim = ";,.|"; // 包含分号、逗号、句点、竖址分隔符
String delim2 = " "
"; // 包含空格、引号
String delim3 = "
""; // 仅包含引号
/**
* 演示 StringTokenizer 最常用的用法,
* 使用 StringTokenizer(String, String) 构造 Tokenizer。
*/
public void test1() {
this.printSeparater("TEST1");
StringTokenizer tokenizer;
tokenizer = new StringTokenizer(source, delim);
while (tokenizer.hasMoreTokens()) {
System.out.println(tokenizer.nextToken());
}
}
/**
* 演示 StringTokenizer 的 nextToken(String) 用法
*/
public void test2() {
this.printSeparater("TEST2");
StringTokenizer tokenizer = new StringTokenizer(source);
while (tokenizer.hasMoreTokens()) {
System.out.println(tokenizer.nextToken(delim));
}
}
/**
* 一个较综合的示例,它拆分一句话,将每个单词拆分出来,
* 其中,被双引号包含 的若干单词被处理为一个单词输出。
*/
public void test3() {
this.printSeparater("TEST3");
String delim = delim2;
String word;
boolean begin = false;
StringTokenizer tokenizer = new StringTokenizer(source3, delim, true);
while (tokenizer.hasMoreTokens()) {
word = tokenizer.nextToken(delim);
if (word.equals("")) {
if (begin) {
delim = delim2;
begin = false;
} else {
delim = delim3;
begin = true;
}
} else if (!word.equals(" ")) {
System.out.println(word);
}
}
}
private void printSeparater(String title) {
System.out.println("--------- " + title + " ---------");
}
}运行结果如下,看看是不是你根据代码猜想的一样:
--------- TEST1 ---------
abcdefg
hijklmn
opqrst
uvw
xyz
--------- TEST2 ---------
abcdefg
hijklmn
opqrst
uvw
xyz
--------- TEST3 ---------
The
file
Good Java Code.txt
is
in
dir
My Documents
of
volume
Doc Volume