Java中StringTokenizer的使用学习

时间:2021-12-27 22:17:17
Java中StringTokenizer的使用学习
    Java中String类可以分解字符串,使用substring方法返回原字符串的子字符串。如果我们需要将字符串分解成一个一个的单词或者标记的话,此时就可以使用到Java中的StringTokenizer类。

      

    StringTokenizer有两个常用的方法:

1.hasMoreElements()。这个方法和hasMoreElements()方法的用法是一样的,只是StringTokenizer为了实现Enumeration接口而实现的方法,从StringTokenizer的声明可以看到:public  class StringTokenizer implements Enumeration<Object>。

2.nextElement()。这个方法和nextToken()方法的用法是一样的,返回此 StringTokenizer 的下一个标记。


   先来看看其构造函数:三种情况

   1:默认以” \t\n\r\f”(前有一个空格,引号不是)为分割符。

    public StringTokenizer(String str) {
        this(str, " \t\n\r\f", false);
    }

      2:public StringTokenizer(String str, String delim) {
        this(str, delim, false);
    }

       3:public StringTokenizer(String str, String delim, boolean returnDelims)。returnDelims为true的话则delim分割符也被视为标记。


      以下是两个实例:

      一:String s = new String("The Java platform is the ideal platform for network computing");
           StringTokenizer st = new StringTokenizer(s);
           System.out.println( "Token Total: " + st.countTokens() );
           while( st.hasMoreElements() ){
             System.out.println(st.nextToken());
           }  

     输出为:

Token Total: 10
The
Java
platform
is
the
ideal
platform
for
network
computing


      二:  String str = new String("The=Java=platform=is=the=ideal=platform=for=network=computing");
        StringTokenizer stz = new StringTokenizer(str,"=",true);//flag indicating whether to return the delimiters as tokens
        System.out.println( "Token Total: " + stz.countTokens() );
        while( stz.hasMoreElements() ){
           System.out.println( stz.nextElement() );
        }

输出结果为:

Token Total: 19
The
=
Java
=
platform
=
is
=
the
=
ideal
=
platform
=
for
=
network
=
computing