有时需要分析字符串并将字符串分解成可被独立使用的单词,这些单词叫做语言符号。例如,对于字符串“You are welcome”,如果把空格作为该字符串的分隔标记,那么该字符串有3个单词(语言符号)。而对于字符串“You,are,welcome”,如果把逗号作为该字符串的分隔标记,那么该字符串有3个单词(语言符号)。
当分析一个字符串并将字符串分解成可被独立使用的单词时,可以使用java.util包中的StringTokenizer类,该类有2个常用的构造方法。
•StringTokenizer(String s):为字符串s构造一个分析器。使用默认的分隔标记,即空格符(若干个空格被看做一个空格)、换行符、回车符、Tab符做分隔标记。
•StringTokenizer(String s,String delim):为字符串s构造一个分析器,参数delim中的字符被作为分隔标记。
例如:
StringTokenizer fenxi=new StringTokenizer("you are welcome");
StringTokenizer fenxi=new StringTokenizer("you,are;welcome",",;");
称一个StringTokenizer对象为一个字符串分析器,一个分析器可以使用nextToken()方法逐个获取字符串中的语言符号(单词),每当调用nextToken()时,都将在字符串中获得下一个语言符号。每当获取到一个语言符号,字符串分析器负责计数的变量值就自动减1,该计数变量的初始值等于字符串中的单词数目。(www.daowen.com)
通常用while循环来逐个获取语言符号,为了控制循环,可以使用StringTokenizer类中的hasMoreTokens()方法,只要字符串中还有语言符号,即计数变量的值大于0,该方法就返回true,否则返回false。另外还可以随时让分析器调用countTokens()方法得到分析器中计数变量的值。
【例6.8】 输出字符串中的句子,并统计句子的个数。
上述程序的运行结果为:
you are welcome
thank you
nice to meet you
共有单词3个
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。