Java学习笔记–StringTokenizer的使用「建议收藏」

Java学习笔记–StringTokenizer的使用「建议收藏」拓展:Pattern.split替代String.splithttp://www.cnblogs.com/gnivor/p/4386978.htmlStringTokenizer是一个用来分隔St

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

拓展:Pattern.split替代String.split http://www.cnblogs.com/gnivor/p/4386978.html

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方法被调用的次数。如果采用构造函数1和2,返回的就是分隔符数量
boolean   hasMoreElements():返回是否还有分隔符。
boolean   hasMoreTokens():同上
String  nextToken():返回从当前位置到下一个分隔符的字符串。
Object      nextElement():结果同上,除非声明返回的是Object而不是String

String       nextToken(String delim):同nextToken(),以指定的分隔符返回结果

例:

String s = new String("This is a test string");
StringTokenizer st = new StringTokenizer(s);
System.out.println( "Token Total: " + st.countTokens() );
while( st.hasMoreElements() ){
    System.out.println(st.nextToken());
}

例2:

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/155307.html原文链接:https://javaforall.net

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


相关推荐

  • 迅雷的远程下载_迅雷下载网页

    迅雷的远程下载_迅雷下载网页-100网络连接超时点击重试或暂停/开启任务尝试解决。3设备响应超时请彻底删除该任务,重新下载。4服务器内部错误请彻底删除该任务,重新下载。5读写文件失败1:检测磁盘剩余空间;2:检测磁盘是否可读写;3:拔下硬盘连接PC修复硬盘文件,然后重新接上硬盘;4:上述方法无效的情况下,请联系客服28设备空间不足1:检测磁盘剩余空间;2:检测磁盘是否可读写;3:拔下硬盘连接PC修复硬盘文件,然后重新接上硬盘…

    2025年8月11日
    6
  • linux awk数组长度,linux awk数组操作详细介绍[通俗易懂]

    linux awk数组长度,linux awk数组操作详细介绍[通俗易懂]linuxawk数组操作详细介绍用awk进行文本处理,少不了就是它的数组处理。那么awk数组有那些特点,一般常见运算又会怎么样呢。我们先看下下面的一些介绍,结合例子我们会讲解下它的不同之处。在awk中数组叫做关联数组(associativearrays),因为下标记可linuxawk数组操作详细介绍用awk进行文本处理,少不了就是它的数组处理。那么awk数组有那些特点,一般常见运算又…

    2022年7月19日
    135
  • datagrid 2017 激活码_通用破解码

    datagrid 2017 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    114
  • jsonify 的说明[通俗易懂]

    jsonify 的说明[通俗易懂]sonStr是dict类型,然后通过jsonify方法直接将dict类型转换为json串(dict->json)。当然也可以使用json.dumps(jsonStr)将dict转换为json字符串。jsonify是flask自带的json处理类,返回的为flask结果….

    2022年5月24日
    34
  • 各个数据库中substring截取字符串操作

    各个数据库中substring截取字符串操作SQL中的substring函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样:MySQL:SUBSTR(),SUBSTRING()

    2022年5月23日
    56
  • ios-tableView的touchesBegan事件和didSelectRowAtIndexPath方法

    ios-tableView的touchesBegan事件和didSelectRowAtIndexPath方法今天做了个测试,看看tableView如果实现了touchesBegan方法和实现了didSelectRowAtIndexPath点击的时候会去实现哪一个?答案是touchesBegan。先附上测试的函数-(void)touchesBegan:(NSSet*)toucheswithEvent:(UIEvent*)event{NSLog(@”——“);}

    2022年7月25日
    12

发表回复

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

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