StringTokenizer

 

 

package com.hisi.a;

import java.util.StringTokenizer;

public class A {

    public static void main(String[] args) {
        testStringTokenizer();

    }

    // String.Split()使用正则表达式,而StringTokenizer的只是使用逐字分裂的字符。
    // 如果不用正则表达式(StringTokenizer也不能使用正则表达式),StringTokenizer在截取字符串中的效率最高。
    public static void testStringTokenizer() {
        // 构造一个用来解析str的StringTokenizer对象。
        // java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”
        StringTokenizer st = new StringTokenizer("Come to\tlearn");
        System.out.println("Total tokens : " + st.countTokens());
        while (st.hasMoreTokens()) {
            System.out.println("Next token : " + st.nextToken());
        }

        // 构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符(可以使多个)。
        StringTokenizer st1 = new StringTokenizer("Come to\tlearn", " o");
        System.out.println("Total tokens : " + st1.countTokens());
        while (st1.hasMoreTokens()) {
            System.out.println("Next token : " + st1.nextToken());
        }        
        
        String str = "100|66,55:200|567,90:102|43,54";
        //StringTokenizer strToke = new StringTokenizer(str, ":,|");// 默认不打印分隔符
         StringTokenizer strToke=new StringTokenizer(str,":,|",true);//打印分隔符
        // StringTokenizer strToke=new StringTokenizer(str,":,|",false);//不打印分隔符
        while(strToke.hasMoreTokens()){
            System.out.println(strToke.nextToken());
        }
    }
}

Total tokens : 3
Next token : Come
Next token : to
Next token : learn
Total tokens : 4
Next token : C
Next token : me
Next token : t
Next token : learn
100
|
66
,
55
:
200
|
567
,
90
:
102
|
43
,
54

posted @ 2019-02-22 11:29  牧 天  阅读(135)  评论(0)    收藏  举报