StringTokenizer(字符串分隔解析类型) java.util.StringTokeniz

功效:将字符串以定界符为界,分析为一个个的token(可理解为单词),定界符可以自己指定。

  1. 构造函数。

    StringTokenizer(String str) :构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。
    2. StringTokenizer(String str, String delim) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。如new StringTokenizer("A|001:B|002:C|003",":");
    3. StringTokenizer(String str, String delim, boolean returnDelims) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。

  2. 方法。
    说明:
    1. 所有方法均为public;
    2. 书写格式:[修饰符] <返回类型> <方法名([参数列表])

    1. int countTokens() :返回nextToken方法被调用的次数。如果采用构造函数1和2,返回的就是分隔符数量(例2)。
    2. boolean hasMoreTokens() :返回是否还有分隔符。
    3. boolean hasMoreElements() :结果同2。
    4. String nextToken() :返回从当前位置到下一个分隔符的字符串。
    5. Object nextElement() :结果同4。
    6. String nextToken(String delim) :与4类似,以指定的分隔符返回结果。

  3. 例子。 StringTokenizer 使用

  String s = new String("The,Java,platform,is,the,ideal,platform");

          StringTokenizer st = new StringTokenizer(s,",",true);

            System.out.println( "Token Total: " + st.countTokens() );

        while( st.hasMoreElements() ){

                   System.out.println( st.nextToken() );

            }

打印结果:

Token Total: 13
The
,
Java
,
platform
,
is
,
the
,
ideal
,
platform

 split 与 StringTokenizer 的萧萧区别!

import java.util.StringTokenizer;
public class StringTokenizerDemo
{
   public static void main(String args[])
  {
      String str="100|66,55:200|567,90:102|43,54";
      String abc="A|B|C|D";
      StringTokenizer strToke=new StringTokenizer(str,":");//默认不打印分隔符
      //StringTokenizer strToke=new StringTokenizer(str,":",true);//打印分隔符
      //StringTokenizer strToke=new StringTokenizer(str,":",false);//不打印分隔符
      int size=strToke.countTokens();//3 & 5
      System.out.println("strToke count = "+size);
     while(strToke.hasMoreElements())
    {
       System.out.println(strToke.nextToken());
       //System.out.println(strToke.nextElement()); //效果同上
     }
     //String[] str_abc=str.split("\\|");//结果与StringTokenizer一样
     String[] str_abc=str.split("|");//得到不同的结果
     for(int i=0;i<str_abc.length;i++)
     {
        System.out.println(str_abc[i]);
     }
  }
}

参考:

http://www.blogjava.net/chunkyo/archive/2007/01/15/94045.html

http://www.blogjava.net/chunkyo/archive/2007/01/15/94045.html

转载于:https://my.oschina.net/u/256102/blog/210687

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值