Java切割字符串。一般使用substring、split、StringTokenizer来处理,前两种是String对象的方法,使用字符串能够直接处理,本文介绍下StringTokenizer的使用。

StringTokenizer 的实例化使用new的方式。

构造方法最多有3个參数:

StringTokenizer(String str, String delim, boolean returnDelims)

第一个參数为我们要处理的字符串。

第二个參数为我们切割字符串的切割标记字符。

delim的默认值为” \t\n\r\f”(前面有一个空格,不包括双引號)

第三个參数意思是,是否包括切割标记字符本身。默认值为false。

StringTokenizer 中的方法hasMoreElements()和hasMoreElements()的使用方法是一样的,仅仅是StringTokenizer为了实现Enumeration接口而实现的方法。

StringTokenizer 中的方法nextElements()和nextToken()的使用方法是一样的。返回StringTokenizer的下一个标记。

以下给出一个实例:

    public static void main(String[] args) {
StringBuffer str = new StringBuffer();
String s = "|struts.xml,1451210087873.xml,.xml,#OA数据库脚本.txt,1451210087857.txt,.txt,";
// for (int i = 0; i < 500000; i++) {
str.append(s);
// } String temp = null;
long begin = System.currentTimeMillis(); StringTokenizer token = new StringTokenizer(str.toString(),"|#");
while(token.hasMoreTokens()){
temp = token.nextToken();
StringTokenizer token1 = new StringTokenizer(temp,",");
if(token1.hasMoreTokens()){// 仅仅取第一个就可以
System.out.println(token1.nextToken());
}
}
System.out.println("耗时:" + (System.currentTimeMillis() - begin));// 9460
}

本例为了输出文件名称。直接使用了“|”和“#” 都支持的效果。

相比String的substring和split来说,StringTokenizer更好。

小数据量方面体现不出什么。假设是大数据操作,StringTokenizer 的性能理论上是优与其它两种的。

使用StringTokenizer分解字符串的更多相关文章

  1. java通过StringToKenizer获取字符串中的单词根据空格分离-简写版

    public class StringToKenizer { public static void main(String[] args) { String strin = "Hello J ...

  2. java通过StringToKenizer获取字符串中的单词根据空格分离-详情版

    public class DaXie { public static void main(String[] args) { String strin = "Hello Java World! ...

  3. StringTokenizer:字符串分隔用法简介

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

  4. StringTokenizer拆分字符串

    今天要做一个过滤特殊字符的需求, 看了下公司以前过滤特俗字符代码, 用的居然是 StringTokenizer, 完全不熟悉啊, 于是恶补了一下, 把StringTokenizer在JDK中的文档也翻 ...

  5. lua脚本分解字符串

    --local str = "文字45 文字 789 文们adsd45 文字 wowo 文字 文字 wowo我们 wowo456 wiwo 465我们 456sdf 45 45我们adsd4 ...

  6. Java StringTokenizer分割字符串

    除了String本身的split方法,JDK在很早就提供了StringTokenizer这个类来分割字符串: 不过,由于正则表达式和String本身的功能越来越多,StringTokenizer已经被 ...

  7. 用StringHelper.Split分解字符串

    StringHelper提供了大量的方法,从而用链试写法处理字符串,实现对字符串的各种操作.比如: var s1,s2:string; begin s1:='abcdefg'; s2:=s1.subs ...

  8. C#中Spli、正则表达式分解字符串详解

    一.String.Split方法提供了如下6个重载函数: 名称 说明 String.Split (Char[]) 返回包含此实例中的子字符串(由指定 Char 数组的元素分隔)的 String 数组. ...

  9. leetcode题解之分解字符串域名

    1.题目描述 A website domain like "discuss.leetcode.com" consists of various subdomains. At the ...

随机推荐

  1. 分布式消息系统Jafka入门指南

    分布式消息系统Jafka入门指南 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.JafkaMQ简单介绍 JafkaMQ是一个分布式的公布/订阅消息系 ...

  2. LoadRunner解决超时错误

    在运行脚本回放过程中,有时会出现错误,这在实际测试中是不可避免的,毕竟自动录制生成的脚本难免会有问题,需要运行脚本进行验证,把问题都解决后才加入到场景中进行负载测试.下面结合常用的协议(如Web.We ...

  3. JDBC 使用SimpleJdbcTemplate实现Dao

    public interface UserDao {     public void addUser(User user);     public User getUser(int userId); ...

  4. No suitable driver found for jdbc:mysql://localhost:3306/hibernate_basic

    Struts Problem Report Struts has detected an unhandled exception: Messages: No suitable driver found ...

  5. C# 递归查找文件夹下所有文件和子文件夹的所有文件

    方法实现 public class DirectoryAllFiles { static List<FileInformation> FileList = new List<File ...

  6. unity3d移动及键鼠状态

    gameObject的transform属性可以进行位置.旋转.大小的设置 位置:position,Translate(),位置的移动 旋转:rotate 大小:localScale Vector3内 ...

  7. 机器学习之数据预处理,Pandas读取excel数据

    Python读写excel的工具库很多,比如最耳熟能详的xlrd.xlwt,xlutils,openpyxl等.其中xlrd和xlwt库通常配合使用,一个用于读,一个用于写excel.xlutils结 ...

  8. Microsoft SQL Server Data Tools - Business Intelligence for Visual Studio 2013 SSIS

    VS2012 SSDTBI_VS2012_x86_CHS.exe http://www.microsoft.com/zh-CN/download/details.aspx?id=36843 VS201 ...

  9. 可能是最通俗易懂的 Java 位操作运算讲解

    https://blog.csdn.net/briblue/article/details/70296326

  10. 点滴积累【JS】---JS小功能(JS实现匀速运动)

    效果: 思路: 利用setInerval()计时器,进行运动.然后关键的一点是在最后停止的时候给它一个填充缝隙的判断. 代码: <head runat="server"> ...