java中stringtokenizer的用法_Java中 StringTokenizer 的用法

一.StringTokenizer

1.1 StringTokenizer简介及其构造函数的三种形式:

StringTokenizer类是字符串分割解析类型,其属于java.util包,在使用之前需要 import java.util.*

StringTokenizer类一共有三种构造函数:

1.StringTokenizer(String s)该种构造函数传入指定的字符串s,然后通过StringTokenizer类对其进行分割。在该种情况下Java默认的分隔符包括 换行符"\n"、回车符"\r"、制表符"\t"、

空格" ";其中匹配分隔符都是多次匹配为准,例如s="Hello      World    !" 通过StringTokenizer(s)对其进行分割时,会返回"Hello"、"World"、"!"。会对字符串s中的空格作多次匹配。

2.StringTokenizer(String s , String delim)该种构造函数可以允许用户指定一个分隔符delim,通过指定的分隔符对字符串s进行分割。其中分隔符若为换行符、回车符、制表符等则不需要加转换符"\",且delim对大小写敏感。  当delim为"abc\n,\t"时,此时分割过程以a、b、c、换行符、制表符对指定字符串s进行分割。匹配到delim中的一个字符就会对s进行分割。

3.StringTokenizer(String s,String delim,boolean ReturnDelims)该构造函数是在第二种构造函数的基础上指定当匹配到分隔符时,是否在输出中显示匹配到的分隔符。

1.2 StringTokenizer的一些常用方法:

示例:StringTokenizer st = new StringTokenizer(s);

1.st.countTokens(): int 类型,表示一共将字符串s分割成多少个部分;

2.st.nextToken() = st.nextElement() : String 和 Object类型 ,表示从当前位置到下一个分隔符之间的字符;初始当前位置为字符串s的第一个字符。执行一次之后当前位置就会移到分隔符的后一位。

3.st.hasMoreTokens() = st.hasMoreElements() :boolean类型 ,表示从当前位置到结尾是否还有字符串s被分割成的部分。

4.st.nextToken(String delim): 以指定的新的delim作为分隔符返回结果。

1.3 运行结果:

1.第一种构造函数:

1 public classtest {2 public static voidmain(String[] args) {3 String s=new String("Hello World");4 StringTokenizer st = newStringTokenizer(s);5 System.out.println("Token Total :"+st.countTokens());6 while(st.hasMoreElements())7 System.out.println(st.nextToken());8 }9 }

运行结果:

4ab205c28bb68462a2cf0dbcd219e49b.png

2.第二种构造函数:

1 public classtest {2 public static voidmain(String[] args) {3 String s=new String("Hello World");4 StringTokenizer st = new StringTokenizer(s,"lo");5 System.out.println("Token Total :"+st.countTokens());6 while(st.hasMoreElements())7 System.out.println(st.nextToken());8 }9 }

运行结果:

34f0b07f4b18d58a6c11da6815679013.png

3.第三种构造函数:

1 public classtest {2 public static voidmain(String[] args) {3 String s=new String("Hello World");4 StringTokenizer st = new StringTokenizer(s,"lo",true);5 System.out.println("Token Total :"+st.countTokens());6 while(st.hasMoreElements())7 System.out.println(st.nextToken());8 }9 }

运行结果:

50e5c4d0f15af370807b3340cc844b5e.png

f6369f9ff1264f9498dda307bb1e1221.gif

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值