StringTokenizer类是一个用来对String进行分词编辑的应用类,类似于Java String 类中的split函数.

构造函数

StringTokenizer提供了三个构造参数

public StringTokenizer(String str)
public StringTokenizer(String str, String delim)
public StringTokenizer(String str, String delim, boolean returnDelims)

其中,前两个构造函数直接调用第三个构造函数创建一个StringTokenizer实例.参数str代表要分割的字符串,delim为一个分割标识符集合,returnDelims表示是否返回分割标识符.在没有指定分割标识符的情况下,默认是"\t\n\r\f".

常用方法

首先,先理解本类中Token的概念.StringTokenizer类的作用就是对给定的字符串进行分割,而分割后的元素就是Token.比如"This is a java programmer!“这个字符串按照空格来分割,那个分割后就是"This”,“is”,“a”,“java”,"programmer!"五个字符串,也就是5个Token.

现在来看一下常用的方法

public boolean hasMoreTokens()//是否还有Token
public String nextToken()//下一个Token
public String nextToken(String delim)//根据分隔符获取下一个Token
public int countTokens()//Token的总个数

代码示例

demo1

本例演示了使用默认分隔符对字符串进行分割以及分割后的处理

String content = "Both sides reached consensus on market access and the text of free trade agreement, " +"making a substantive progress and a basic completion of the FTA negotiation.";
StringTokenizer st = new StringTokenizer(content);
System.out.println("分割后Token的个数-->"+st.countTokens());
int i=1;
while(st.hasMoreElements()){String token = st.nextToken();System.out.print(i+"."+token+" ");i++;
}

输出内容如下:

分割后Token的个数-->26
1.Both 2.sides 3.reached 4.consensus 5.on 6.market 7.access 8.and 9.the 10.text 11.of 12.free 13.trade 14.agreement, 15.making 16.a 17.substantive 18.progress 19.and 20.a 21.basic 22.completion 23.of 24.the 25.FTA 26.negotiation.

demo2

使用指定的分隔符分割字符串

String content = "https://blog.jetbrains.com/idea/2009/04/global-unused-declaration-inspection/";StringTokenizer st = new StringTokenizer(content,"/");System.out.println("分割后Token的个数-->" + st.countTokens());int i = 1;while (st.hasMoreElements()) {String token = st.nextToken();System.out.print(i + "." + token + " ");i++;}
}

输出内容如下:

分割后Token的个数-->6
1.https: 2.blog.jetbrains.com 3.idea 4.2009 5.04 6.global-unused-declaration-inspection

demo3

String content = "https://blog.jetbrains.com/idea/2009/04/global-unused-declaration-inspection/";
StringTokenizer st = new StringTokenizer(content,"/",true);
System.out.println("分割后Token的个数-->" + st.countTokens());
int i = 1;
while (st.hasMoreElements()) {String token = st.nextToken();System.out.print(i + "." + token + " ");i++;
}

输出内容:

分割后Token的个数-->13
1.https: 2./ 3./ 4.blog.jetbrains.com 5./ 6.idea 7./ 8.2009 9./ 10.04 11./ 12.global-unused-declaration-inspection 13./

参考文章:http://blog.csdn.net/riyunzhu/article/details/7989145

StringTokenizer类详解相关推荐

  1. stringtokenizer java_基于Java中的StringTokenizer类详解(推荐)

    StringTokenizer是字符串分隔解析类型,属于:Java.util包. 1.StringTokenizer的构造函数 StringTokenizer(String str):构造一个用来解析 ...

  2. OpenCV Mat类详解和用法(官网原文)

    参考文章:OpenCV Mat类详解和用法 我马克一下,日后更 官网原文链接:https://docs.opencv.org/3.2.0/d6/d6d/tutorial_mat_the_basic_i ...

  3. 转载:c+string类详解

    C++ string 类详解 </h1><div class="clear"></div><div class="postBod ...

  4. JDBC学习笔记02【ResultSet类详解、JDBC登录案例练习、PreparedStatement类详解】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  5. JDBC学习笔记01【JDBC快速入门、JDBC各个类详解、JDBC之CRUD练习】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  6. Android复习14【高级编程:推荐网址、抠图片上的某一角下来、Bitmap引起的OOM问题、三个绘图工具类详解、画线条、Canvas API详解(平移、旋转、缩放、倾斜)、矩阵详解】

    目   录 推荐网址 抠图片上的某一角下来 8.2.2 Bitmap引起的OOM问题 8.3.1 三个绘图工具类详解 画线条 8.3.16 Canvas API详解(Part 1) 1.transla ...

  7. Java中的Runtime类详解

    Java中的Runtime类详解 1.类注释 /**Every Java application has a single instance of class Runtime that allows ...

  8. [NewLife.XCode]实体类详解

    NewLife.XCode是一个有10多年历史的开源数据中间件,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和运行日志来进行深入分析,蕴含 ...

  9. basicdatasourcefactory mysql_Java基础-DBCP连接池(BasicDataSource类)详解

    Java基础-DBCP连接池(BasicDataSource类)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 实际开发中"获得连接"或"释放资源 ...

最新文章

  1. 深拷贝——将对象拷贝到底
  2. mysql 主从复制的1032错误
  3. Logistic Regression(逻辑回归)原理及公式推导
  4. Python使用socket实现局域网传输数据(附加json数据传输及解析)以及判断socket是否断开连接
  5. Vue怎样新建并启动项目(图文教程详解)
  6. 微服务架构 —— 服务雪崩与容错方案
  7. php无法添加数据库,无法添加数据到数据库
  8. 1.两数之和-LeetCode
  9. centos下安装和卸载jdk
  10. Exchange 2010 证书续期
  11. WTL for MFC Programmers, Part V - Advanced Dialog UI Classes
  12. Audition CC 2019 Essential Training AuditionCC 2019基本训练 Lynda课程中文字幕
  13. 外设键盘win和alt功能互换解决方法
  14. iOS开发工程师(SDK),U3D主程,制作人 招聘
  15. Redisson(1)分布式锁——如何解决死锁问题
  16. 【信号调理】用“晶体三极管”搭建CE放大器的实操经验分享
  17. HNUST 计算机组成原理课设
  18. leetCode刷题记录(四月)
  19. 校园服务器虚拟化方案,联想服务器虚拟化方案构建数字校园
  20. DM9000AEP/CEP 技术文件

热门文章

  1. PHP fscanf
  2. C语言 =(按位与后赋值)^=(按位异或后赋值) |=(按位或后赋值)
  3. layui设置textarea高度
  4. SAP系统接口对接历险记
  5. jQuery 手风琴案例
  6. 联想笔记本进入pe_lenovo怎么进入pe系统?
  7. html5div随窗口大小,css怎么设置div随着窗口大小变换
  8. Windows Terminal美化杂记-Windows Terminal使用与配置
  9. Settings学习
  10. 国际音标(IPA)和美国音标(KK)对照表