一、功能介绍:String类使用split()方法运用正则表达式分解字符串,而StringTokenizer类的对象可以直接分解字符串。 有时需要分析字符串并将字符串分解成可被独立使用的单词,这些单词叫做语言符号。 当分析一个字符串并将字符串分解成可被独立使用的单词时,可以用StringTokenizer类。
二、对象创建:StringTokenizer类有连个常用的构造方法,把一个StringTokenizer对象称作一个字符串分析器。
1.StringTokenizer(String s);为字符串s构造一个分析器。使用默认的分隔标记,即空格符(若干个空格符被看作一个空格)、换行符、回车键、Tab键和进纸符。对s进行分割。
2.StringTokenizer(String s,String delim):为字符串s构造一个分析器。参数dilim中的字符串作为分割标记。
分割标记可以任意组合。
例如:StringTokenizer fenxi=new StringTokenizer("we are student"); //分析器将以空格为分割标记,将字符串中的三个单词分开。
StringTokenizer fenxi=new StringTokenzier("We,are;student",",;"); / /分析器将一,和;为分割标记,将三个单词分开。
三、单词获取:将分析器中分割出来的单词提取出来。
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个单词