StringTokenizer的学习

StringTokenizerjava.util包中的一个类用于语言符号的分析。例如,如果把空格做分隔符,字符串”we  are learning Java programming”5个单词。要分析出字符串中的单词,可用StringTokenizer类的构造方法,由给定的字符串构造一个StringTokenizer对象,StringTokenizer对象称作字符分析器。然后利用去一个单词方法nextToken(),结合循环,从字符串分析器中逐一取出单词。用hasMoreTokens()方法控制循环,只要字符串中还有语言符号,该方法就返回true,否则返回false。调用countTokens()方法能得到字符串分析器中一共有多少个单词。

1.StringTokenizer类的构造方法:

1StringTokenizer(Stringstr)

为指定字符串构造一个 string tokenizertokenizer 使用默认的分隔符集 " \t\n\r\f",即:空白字符、制表符、换行符、回车符和换页符

2StringTokenizer(Stringstr,String delim)

为指定字符串构造一个 string tokenizerdelim 参数中的字符都是分隔标记的分隔符。分隔符字符本身不作为标记。

3StringTokenizer(Stringstr,String delim,Boolean returnDelims)

为指定字符串构造一个 string tokenizerdelim 参数中的所有字符都是分隔标记的分隔符。

2.常用方法

nextToken():逐个获取字符串分析器中的语言符号,每获取一个语言符号,字符串分析器中负责计数的变量值就自动减1,该计数变量的初始值等于字符串中的单词数目。

countTokens():获得计数变量的值。

HasMoreTokens():字符串分析器中是否还有语言符号,若有返回true,否则返回false

其他方法:

nextElement():返回与 hasMoreTokens 方法相同的值。它的存在使得此类可以实现 Enumeration 接口。

2、方法。
说明:
1. 所有方法均为public
2. 书写格式:[修饰符] <返回类型><方法名([参数列表])>
如:
static int parseInt(String s)表示:此方法(parseInt)为类方法(static),返回类型为(int),方法所需参数为String类型。

1. intcountTokens():返回nextToken方法被调用的次数。如果采用构造函数12,返回的就是分隔符数量(2)
2. boolean hasMoreTokens() :返回是否还有分隔符。
3. boolean hasMoreElements() :结果同2
4. String nextToken():返回从当前位置到下一个分隔符的字符串。
5. Object nextElement() :结果同4
6. String nextToken(String delim):与4类似,以指定的分隔符返回结果。

例如:

代码:

packagecom.itheima;

* 使用java.lang.StringTokenizer类,根据空格将字符串"张飞关于刘备诸葛亮"拆分成四个部分,根据“/”将

 * H:/学习文件/概率论与数理统计,拆分成三个部分

 */

import java.util.*;

public class StringTokenizerDemo {

     privatevoid demoA(){

         StringTokenizerst=new StringTokenizer("张飞,关雨,刘备,诸葛亮","");

         intn=st.countTokens();

         System.out.println("共有"+n+"个人物");

         while(st.hasMoreTokens()){

              Strings=st.nextToken();

              System.out.println("分别是:"+s+"\t");

         }

        

     }

     privatevoid demoB(){

         StringTokenizerstk=new StringTokenizer("H:/学习文件/概率论与数理统计","/");

         Vector<String>v=new Vector<String>();

         while(stk.hasMoreTokens())

         v.addElement(stk.nextToken());

         for(intj=0;j<v.size();j++)

         {

              StringsPart=(String)v.elementAt(j);

              System.out.println(sPart);

         }

     }

     publicstatic void main(String args[]){

         StringTokenizerDemoobj=new StringTokenizerDemo();

         obj.demoA();

         System.out.println("\n下面是一条绝对路径的拆分情况");

         obj.demoB();

     }

    

     执行结果

共有4个人物

分别是 :张飞

分别是 :关雨

分别是 :刘备

分别是 :诸葛亮  

 

下面是一条绝对路径的拆分情况

H:

学习文件

概率论与数理统计

 

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值