8.2 StringTokenizer类
StringTokenizer对象也可以分解字符串,和split()方法不同的是,StringTokenizer对象不使用正则表达式做分隔标记
方法:
(1)StringTokenizer(String s):为字符串构造一个分析器,使用默认的分隔标记,即空格符(若干个空格被看做一个空格)、换行符、回车符、Tab符、进纸符做分隔标记
(2)StringTokenizer(String s,String delim):为字符串s构造一个分析器,参数delim中的字符被作为分隔符
注*:\f 是走纸换页的意思 。过去连续纸张打印时,将纸空白着走到那个折线的地方也就是一张新纸的地方从新开始打印,即,换页符
StringTokenizer fStringTokenizer =new StringTokenizer("you are welcome");
StringTokenizer fStringTokenizer=type StringTokenizer("you are welcome",",;");
通常用while循环来逐个获取语言符号(单词),为了控制循环,可以使用StringTokenizer类中的hasMoreTokens()方法,只要字符串中还有语言符号,即计数变量的值大于0,该方法就返回true,否则返回false。另外还可以随时让分析器调用countTokens()方法得到分析器中计数变量的值。
public class Example8_12 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String string = "you are welcome(thank you),nice to meet you";
StringTokenizer fStringTokenizer = new StringTokenizer(string, "(),");
int number = fStringTokenizer.countTokens();
while (fStringTokenizer.hasMoreTokens()) {
String string2 = fStringTokenizer.nextToken();
System.out.println(string2 + " ");
}
System.out.println("共有单词:" + number + "个");
}
}
/*
you are welcome
thank you
nice to meet you
共有单词:3个
*/