java.util.StringTokenizer范例

/*
 * @(#) 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(); } }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值