/* * @(#) TestStringTokenizer.java * in package net.outinn.james.codebase.java.util * by James Fancy * on 2003-9-27 */ package net.outinn.james.codebase.java.util; import java.util.StringTokenizer; /** * TestStringTokenizer 类给出了三个示例,演示了 StringTokenizer 类的常见用法。 * <p>该示例代码运行结果</p> * <blockquote><pre> * --------- TEST1 --------- * name * telephone * fax * email * address * --------- TEST2 --------- * name * telephone * fax * email * address * --------- TEST3 --------- * The * file * Good Java Code.txt * is * in * dir * My Documents * of * volume * Doc Volume * </pre></blockquote> * @author James Fancy * on 2003-9-27 9:12:34 * @see java.util.StringTokenizer */ public final class StringTokenizerDemo { private final String source1 = "name|telephone,fax;email.address"; private final String source3 = "The file /"Good Java Code.txt/" is in" + " dir /"My Documents/" of volume /"Doc Volume/""; private final String delim1 = ";,.|"; // 包含分号、逗号、句点、竖址分隔符 private final String delim2 = " /""; // 包含空格、引号 private final String delim3 = "/""; // 仅包含引号
private void printSeparater(String title) { System.out.println("--------- " + title + " ---------"); }
/** * 演示 StringTokenizer 最常用的用法,使用 StringTokenizer(String, String) * 构造 Tokenizer。 * @see java.util.StringTokenizer#StringTokenizer(String, String) * @see java.util.StringTokenizer#hasMoreTokens() * @see java.util.StringTokenizer#nextToken() */ public void test1() { this.printSeparater("TEST1"); StringTokenizer tokenizer; tokenizer = new StringTokenizer(source1, delim1); while (tokenizer.hasMoreTokens()) { System.out.println(tokenizer.nextToken()); } }
/** * 演示 StringTokenizer 的 nextToken(String) 用法 * @see java.util.StringTokenizer#StringTokenizer(String) * @see java.util.StringTokenizer#hasMoreTokens() * @see java.util.StringTokenizer#nextToken(String) */ public void test2() { this.printSeparater("TEST2"); StringTokenizer tokenizer = new StringTokenizer(source1); while (tokenizer.hasMoreTokens()) { System.out.println(tokenizer.nextToken(delim1)); } }
/** * 一个较综合的示例,它拆分一句话,将每个单词拆分出来,其中, * 被双引号包含的若干单词被处理为一个单词输出。 * @see java.util.StringTokenizer#StringTokenizer(String, String, boolean) * @see java.util.StringTokenizer#hasMoreTokens() * @see java.util.StringTokenizer#nextToken() * @see java.util.StringTokenizer#nextToken(String) */ 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); } } }
/** * 这个 main 方法输出默认的测试结果。 * @param args 命令行参数 */ public final static void main(String[] args) { StringTokenizerDemo demo = new StringTokenizerDemo(); demo.test1(); demo.test2(); demo.test3(); } }
java.util.StringTokenizer范例
最新推荐文章于 2021-06-10 07:33:43 发布