StringTokenizer的使用「建议收藏」

StringTokenizer的使用「建议收藏」StringTokenizer是一个用来分隔String的应用类。1. 构造函数。1. StringTokenizer(String str) :构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。2. StringTokenizer(String str, String d…

大家好,又见面了,我是你们的朋友全栈君。

StringTokenizer是一个用来分隔String的应用类。

1. 构造函数。

1. StringTokenizer(String str) :构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。
2. StringTokenizer(String str, String delim) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。
3. StringTokenizer(String str, String delim, boolean returnDelims) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符,同时,指定是否返回分隔符

2.  方法简介

int       countTokens():返回nextToken方法被调用的次数。
boolean   hasMoreElements():返回是否还有分隔符。
boolean   hasMoreTokens():同上
String  nextToken():返回从当前位置到下一个分隔符的字符串。
Object      nextElement():结果同上,除非生命返回的是Object而不是String
String       nextToken(String delim):同nextToken(),以指定的分隔符返回结果

下面是一个使用 tokenizer 的实例。代码如下: 

     StringTokenizer st = new StringTokenizer("this is a test");
     while (st.hasMoreTokens()) {
         System.out.println(st.nextToken());
     }
 输出以下字符串: 

     this
     is
     a
     test
String str = "100|66,55:200|567,90:102|43,54";

StringTokenizer strToke = new StringTokenizer(str, ":,|");// 默认不打印分隔符
// StringTokenizer strToke=new StringTokenizer(str,":,|",true);//打印分隔符
// StringTokenizer strToke=new StringTokenizer(str,":,|",false);//不打印分隔符
while(strToke.hasMoreTokens()){
    System.out.println(strToke.nextToken());
}

注意,StringTokenizer的分隔符不需要使用转义字符

3.与split的区别

String.Split()使用正则表达式,而StringTokenizer的只是使用逐字分裂的字符。
如果不用正则表达式(StringTokenizer也不能使用正则表达式),StringTokenizer在截取字符串中的效率最高

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147241.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • volatile为什么不能保证原子性

    volatile为什么不能保证原子性首先要了解的是,volatile可以保证可见性和顺序性,这些都很好理解,那么它为什么不能保证原子性呢?可见性可见性与Java的内存模型有关,模型采用缓存与主存的方式对变量进行操作,也就是说,每个线程都有自己的缓存空间,对变量的操作都是在缓存中进行的,之后再将修改后的值返回到主存中,这就带来了问题,有可能一个线程在将共享变量修改后,还没有来的及将缓存中的变量返回给主存中,另外一个线程就对…

    2022年7月27日
    10
  • qq群泄露数据库_QQ群聊天记录全部人都可以看到吗

    qq群泄露数据库_QQ群聊天记录全部人都可以看到吗目录:基本介绍漏洞截图迅雷下载截图百度云下载截图       这年头,用户资料都可以论斤卖了,无论是快递单上的用户信息,还是酒店的开房记录,还是网站的登陆密码,只要黑客想要,都能手到擒来。这不,根据乌云的报告,18号下午QQ群的用户资料被大量泄漏了!据乌云平台上漏洞提交者“路人甲@乌云”称,该漏洞可能是腾讯早期的漏洞被利用抓取,相关数据可以

    2022年9月27日
    5
  • 接近完美的监控系统—普罗米修斯

    接近完美的监控系统—普罗米修斯普罗米修斯(Prometheus)是一个SoundCloud公司开源的监控系统。当年,由于SoundCloud公司生产了太多的服务,传统的监控已经无法满足监控需求,于是他们在2012年决…

    2022年7月19日
    28
  • docker 镜像构建_dockerfile引入两个镜像

    docker 镜像构建_dockerfile引入两个镜像前言如果我们已经安装了一个python3的环境,如果另一台机器也需要安装同样的环境又要敲一遍,很麻烦,这里可以配置Dockerfile文件,让其自动安装,类似shell脚本Dockerfile编写

    2022年7月30日
    102
  • MySQL 获取当前时间的秒级、毫秒级时间戳[通俗易懂]

    MySQL 获取当前时间的秒级、毫秒级时间戳[通俗易懂]#秒级时间戳:1606371113UNIX_TIMESTAMP(NOW())#毫秒级时间戳:1606371209293REPLACE(unix_timestamp(current_timestamp(3)),’.’,”)

    2022年9月1日
    4
  • Java HashMap遍历方式性能探讨「建议收藏」

    Java HashMap遍历方式性能探讨

    2022年3月5日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号