StringTokenizer

Posted 薛文博

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了StringTokenizer相关的知识,希望对你有一定的参考价值。

1. 构造函数

 

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

 

2.  方法简介

 

int       countTokens():返回nextToken方法被调用的次数。如果采用构造函数1和2,返回的就是分隔符数量
boolean   hasMoreElements():返回是否还有分隔符。
boolean   hasMoreTokens():同上
String  nextToken():返回从当前位置到下一个分隔符的字符串。
Object      nextElement():结果同上,除非生命返回的是Object而不是String
String       nextToken(String delim):同nextToken(),以指定的分隔符返回结果

 

例:

 

String s = new String("This is a test string");
StringTokenizer st = new StringTokenizer(s);
System.out.println( "Token Total: " + st.countTokens() );
while( st.hasMoreElements() ){
    System.out.println(st.nextToken());
}

 

例2:

 

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());
}

 

注意,StringTokenizer的分隔符不需要使用转义字符

3.与split的区别

 

String.Split()使用正则表达式,而StringTokenizer的只是使用逐字分裂的字符。
如果不用正则表达式(StringTokenizer也不能使用正则表达式),StringTokenizer在截取字符串中的效率最高。

 

以上是关于StringTokenizer的主要内容,如果未能解决你的问题,请参考以下文章

下面的代码啥意思,特别是StringTokenizer 的方法hasMoreTokens(),nextToken()不明白!

201671010432词频统计软件项目报告

java字符串StringTokenizer在“//”之后无法识别令牌?

Java, Stringtokenizer和String split有啥区别?

StringTokenizer

StringTokenizer类与String.split()的区别