Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4029138
  • 博文数量: 366
  • 博客积分: 9916
  • 博客等级: 中将
  • 技术积分: 7195
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-29 23:27
个人简介

简单!

文章分类

全部博文(366)

文章存档

2013年(51)

2012年(269)

2011年(46)

分类: Java

2012-10-25 08:59:22

       有时我们需要分析字符串并将字符串分解成可被独立使用的单词,这些单词叫做语言符号。例如,对于字符串“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()方法得到字符串一共有多少个语言符号。

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

  1. import java.util.*;

  2. public class ParseStr {

  3.     public static void main(String args[]) {

  4.         String s="1.2.3";
  5.         int i = 0;
  6.         StringTokenizer fenxi=new StringTokenizer(s,".");
  7.         int[] ver = new int[3];

  8.         int number=fenxi.countTokens();

  9.         while (fenxi.hasMoreTokens())
  10.         {
  11.             String str=fenxi.nextToken();
  12.             ver[i] = Integer.parseInt(str);
  13.             System.out.println(ver[i]);
  14.             i++;
  15.             
  16.             System.out.println("还剩"+fenxi.countTokens()+"个单词");
  17.         }

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

阅读(5017) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~