StringTokenizer类属于java.util包。
功能介绍:String类使用split()方法运用正则表达式分解字符串,而StringTokenizer类的对象可以直接分解字符串。 有时需要分析字符串并将字符串分解成可被独立使用的单词,这些单词叫做语言符号。 当分析一个字符串并将字符串分解成可被独立使用的单词时,可以用StringTokenizer类。
StringTokenizer 字符串分隔解析类型。如果要将一个字符串分解为一个一个的单词或者标记,StringTokenizer可以帮你。
构造函数:
StringTokenizer(String str) :构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘/t’)”、“换行符(‘/n’)”、“回车符(‘/r’)”。
StringTokenizer(String str, String delim) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。
StringTokenizer(String str, String delim, boolean returnDelims) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。
例如:
StringTokenizer fenxi=new StringTokenizer(“we are student”); //分析器将以空格为分割标记,将字符串中的三个单词分开。
StringTokenizer fenxi=new StringTokenzier(“We,are;student”,”,;”); / /分析器将一,和;为分割标记,将三个单词分开。
常用方法:
int countTokens() :返回nextToken方法被调用的次数。如果采用构造函数1和2,返回的就是分隔符数量。
boolean hasMoreElements() /boolean hasMoreTokens() :返回是否还有分隔符。
Object nextElement()/String nextToken() :返回从当前位置到下一个分隔符的字符串。
String nextToken(String delim) :从当前位置到指定的分隔符的字符串。
实例
public class StringTokenizerTest {
public static void main(String[] args) {
StringTokenizer str = new StringTokenizer("www ooobj com");
while(str.hasMoreElements()){
System.out.println( str.nextToken());
}
}
}
单词获取:将分析器中分割出来的单词提取出来。
1.分析器可以使用nextToken()方法逐个获取字符串中的语言符号,即单词。每当调用nextToken()的时,都将在字符串中获得下一个语言符号。每当获取一个语言符号,字符串分析器中负责计数的变量的数目的值自动减一,该计数变量的初始值等于字符串中单词的数量。
2.通常用while循环来逐个获取语言符号,使用StringTokenizer类中hasMoreTokens()方法,判断字符串中是否还有语言符号。计数值大于0,返回true,否则false
3.分析器调用countTokens()方法得到分析器中计数变量的值。
import java.util.*;
public class FenXiQi{
public static void main(String[] args){
String s="I love java !";
StringTokenizer tokenizer=new StringTokenizer(s);
int number=tokenizer.countTokens();
while(tokenizer.hasMoreTokens()){
String str=tokenizer.nextToken();
System.out.println(str);
System.out.println("还剩"+tokenizer.countTokens()+"个单词");
}
}
}
输出结果:
I
还剩3个单词
love
还剩2个单词
java
还剩1个单词
!
还剩0个单词
参考博客:http://blog.csdn.net/zhengdianwei/article/details/9714059