示例代码如下,代码说明请看注释:
- /*
- * @(#) 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
本文转自边城__ 51CTO博客,原文链接:http://blog.51cto.com/jamesfancy/843245,如需转载请自行联系原作者