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.第一种构造函数:
public class test {
public static void main(String[] args) {
String s=new String("Hello World");
StringTokenizer st = new StringTokenizer(s);
System.out.println("Token Total :"+ st.countTokens());
while(st.hasMoreElements())
System.out.println(st.nextToken());
}
}
运行结果:

2.第二种构造函数:
public class test {
public static void main(String[] args) {
String s=new String("Hello World");
StringTokenizer st = new StringTokenizer(s,"lo");
System.out.println("Token Total :"+ st.countTokens());
while(st.hasMoreElements())
System.out.println(st.nextToken());
}
}
运行结果:

3.第三种构造函数:
public class test {
public static void main(String[] args) {
String s=new String("Hello World");
StringTokenizer st = new StringTokenizer(s,"lo",true);
System.out.println("Token Total :"+ st.countTokens());
while(st.hasMoreElements())
System.out.println(st.nextToken());
}
}
运行结果:


Java中 StringTokenizer 的用法的更多相关文章
- java中StringTokenizer的用法
4.StringTokenizer StringTokenizer可以解析分隔符不是空格的情况.例子:import java.util.StringTokenizer;public class Tes ...
- java成神之——java中string的用法
java中String的用法 String基本用法 String分割 String拼接 String截取 String换行符和format格式化 String反转字符串和去除空白字符 String获取 ...
- java中this的用法?
2008-07-28 08:10cztx5479 | 分类:JAVA相关 | 浏览4533次 java中this的用法? import java.awt.*; import java.awt.even ...
- 转:十八、java中this的用法
http://blog.csdn.net/liujun13579/article/details/7732443 我知道很多朋友都和我一样:在JAVA程序中似乎经常见到“this”,自己也偶尔用到它, ...
- Java 中 synchronized的用法详解(四种用法)
Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码.本文给大家介绍java中 synchronized的用法,对本文感兴趣的朋友一起看看吧 ...
- java中stringBuilder的用法
java中stringBuilder的用法 String对象是不可改变的.每次使用 System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间.在需 ...
- 第一篇 网站基础知识 第4章 Java中Socket的用法
第4章 Java中Socket的用法 4.1 普通Socket的用法 Java中的网络通信是通过Socket实现的,Socket分为ServetSocket和Socket两大类,ServetSocke ...
- Java中的Socket用法
转发链接:https://www.cnblogs.com/zhanglei93/p/6217384.html (1)Java中的Socket用法 Java中的Socket分为普通的Socket和Nio ...
- 初探java中this的用法
一般this在各类语言中都表示“调用当前函数的对象”,java中也存在这种用法: public class Leaf { int i = 0; Leaf increment(){ i++; retur ...
随机推荐
- HBase读写的几种方式(三)flink篇
1. HBase连接的方式概况 主要分为: 纯Java API读写HBase的方式: Spark读写HBase的方式: Flink读写HBase的方式: HBase通过Phoenix读写的方式: 第一 ...
- Redis的集群搭建
一.集群的搭建 1.准备工作 (1)安装ruby环境 redis集群管理工具redis-trib.rb依赖ruby环境,首先需要安装ruby环境: yum -y install ruby yum -y ...
- HDU-6397(2018 Multi-University Training Contest 8) Character Encoding(生成函数+组合数学)
题意 从$0$到$n-1$的数字里可重复的取至多$m$个数的和等于$k$的方案数. 思路 显然的生成函数的思路为构造 $(1+x+x^{2}+...+x^{n-1})^{m}$ 那么$x^{k}$的系 ...
- raw_input与input
raw_input 不管用户输入的是什么,最后打印的类型都会是str字符串类型 input 会根据用户的输入变换成相应的类型,但是需要注意的是我们用户在输入字符或者字符串的时候,需要给他们加上双引号, ...
- 20175306 MyCP博客总结
课后必做题:MyCP总结 cp命令了解: · 作用:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中.若同 ...
- JAVA进阶22
1.接口默认方法的使用 ①接口的默认方法可以通过接口实现类对象直接调用. ②接口的默认方法也可以被接口实现类进行覆盖重写 package cn.intcast.demo17; public inter ...
- Socketserver的源码分析
Socketserver的源码分析
- centOS7在VirtualBox中装好后的网络连接问题
1. 环境 物理机OS:Windows 7 虚拟机:VirtualBox 虚拟机OS:CentOS7 2. 虚拟机网络设置 (该部分内容参考于网络,未深究原因,待后续研究补充) 网卡1设置如下图: 网 ...
- 使用npm命令,而不用cnpm命令,也可以得到同样的体验
以前大家都知道使用cnpm命令来替代npm,可以大大提升下载各种包的速度.例如: npm install -g cnpm --registry=https://registry.npm.taobao. ...
- sql查找某一列中某一数值出现次数大于3的记录的前3条
SELECT * FROM table GROUP BY column HAVING COUNT(column)>=3 ORDER BY column DESC LIMIT 0,3;