Java入门——使用StringTokenizer类分析字符串

有时我们需要分析字符串并将字符串分解成可被独立使用的单词,这些单词叫做语言符号。例如,对于字符串“We are students”,如果我们把空格作为该字符串的分隔符,那么该字符串有三个单词,语言符号。而对于字符串“We ,are,student”如果我们把逗号作为了该字符串的分隔符,那么该字符串有三个单词,语言符号。

当我们分析一个字符串并将字符串分解成可被独立使用的单词时,可以使用java.util包中的StringTokenizer类,该类有两个常用的构造方法。

·StringTokenizer (String s) 为字符串s构造一个分析器,使用默认的分隔符集合(即空格符),若干个空格被看做一个空格,换行符,回车符,Tab符,进纸符。

·StringTokenizer(String s,String delim)为字符串s构造一个分析器。参数dilim中的字符被作为分隔符。

例如:

       StringTokenizer fenxi=new StringTokenizer("we are student");

       StringTokenizer fenxi=new StringTokenizer("we,are,student",",;");

   我们把一个StringTokenizer对象称作一个字符串分析器。一个分析器可以使用nextToken()方法逐个获取字符串中的语言符号(单词),每当调用nextToken()时,都将在字符串中获得下一个语言符号。通常用while循环来逐个获取语言符号,为了控制循环,我们可以使用StringTokenizer类中的hasMoreTokens()方法,只要字符串中还有语言符号,该方法就返回true,否则返回false。另外我们还可以调用countTokens()方法得到字符串一共有多少个语言符号。

下面是一个应用程序,分析字符串,分别输出字符串的单词,并统计单词个数。

例子7:

           import java.util.*;

           public class Example5_7

               {

                   public static void main(String args[])

                           {

                                  String s="I am Geng.X.y,she is my girlfriend";

                                  StringTokenizer fenxi=new StringTokenizer(s,","); //空格和逗号做分

                                  int number=fenxi.countTokens();

                                  while(fenxi.hasMoreTokens())

                                       {

                                            String str=fenxi.nextToken();

                                            System.out.println(str);

                                            System.out.println("还剩"+fenxi.countTokens()+"个单词");

                                       }

                   System.out.println("s共有单词"+number+"个");

                           }

               }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值