java.util——使用StringTokenizer类分析字符串
来源:互联网 发布:linux x264 opusdec 编辑:程序博客网 时间:2024/04/24 08:15
有时我们需要分析字符串并将字符串分解成可被独立使用的单词,这些单词叫做语言符号。例如,对于字符串“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+"个");
}
}
附加一个经典编程题:
/**********************************
现在输入n个数字,以逗号分开;然后升或者降序排序;
***********************************/
import java.util.*;
public class bycomma{
public static String[] splitStringByComma(String source){
if(source==null||source.trim().equals(""))
return null;
StringTokenizer commaToker = new StringTokenizer(source,",");
String[] result = new String[commaToker.countTokens()]; //
int i=0;
while(commaToker.hasMoreTokens()){
result[i] = commaToker.nextToken();
i++;
}
return result;
}
public static void main(String args[]){
String[] s = splitStringByComma("5,8,7,4,3,9,1");
int[] ii = new int[s.length];
for(int i = 0;i<s.length;i++){
ii[i] =Integer.parseInt(s[i]);
}
Arrays.sort(ii);
//asc 由小到大
for(int i=0;i<s.length;i++){
System.out.println(ii[i]);
}
System.out.println("/n");
//desc 由大到小
for(int i=(s.length-1);i>=0;i--){
System.out.println(ii[i]);
}
}
}
- java.util——使用StringTokenizer类分析字符串
- java.util——使用StringTokenizer类分析字符串
- java.util 类 StringTokenizer
- Tokenizing:java.util.StringTokenizer 类
- java.util.StringTokenizer范例
- java.util.StringTokenizer
- java.util.StringTokenizer
- java字符串分割解析类StringTokenizer的使用
- Java字符串分割解析类StringTokenizer的使用
- 【转】java.util.String.StringTokenizer
- 实用的StringTokenizer类,分析字符串内容
- 【java】StringTokenizer类的使用
- Java API—— StringTokenizer类
- StringTokenizer类的使用 分割字符串
- 分割字符串的类StringTokenizer的使用
- 使用StringTokenizer分解字符串
- 使用StringTokenizer分解字符串
- StringTokenizer 字符串分隔类
- position 的 static、relative、absolute、fixed、inherit
- Java异常处理总结
- 托管c++ winform的学习(1)
- 算法——错排问题
- 详细解析Java中抽象类和接口的区别
- java.util——使用StringTokenizer类分析字符串
- java中的static关键字和静态成员
- Asp.net 操作xml文件
- Delegate & Expression Tree 研究
- mysql 下执行sql脚本
- java.util——Character类
- English Alphabet(IT 英语字母表),大家来猜猜看吧!
- HTTP POST GET 本质区别详解
- c标签之c:choose和c:if的使用实例