java.util.StirngTokenizer 示例代码

本文通过三个具体示例展示了Java中StringTokenizer类的使用方法,包括如何使用不同分隔符进行字符串分割,以及如何处理被引号包围的子串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2003年9月发于 CCW-I
2006年9月搬至 优快云

 示例代码如下,代码说明请看注释:

/*
 * @(#) 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值