使用StringTokenizer分解字符串
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分解字符串的更多相关文章
- java通过StringToKenizer获取字符串中的单词根据空格分离-简写版
public class StringToKenizer { public static void main(String[] args) { String strin = "Hello J ...
- java通过StringToKenizer获取字符串中的单词根据空格分离-详情版
public class DaXie { public static void main(String[] args) { String strin = "Hello Java World! ...
- StringTokenizer:字符串分隔用法简介
StringTokenizer:字符串分隔解析类型 属于:java.util包. 1.构造函数. 1. StringTokenizer(String str) :构造一个用来解析str的StringT ...
- StringTokenizer拆分字符串
今天要做一个过滤特殊字符的需求, 看了下公司以前过滤特俗字符代码, 用的居然是 StringTokenizer, 完全不熟悉啊, 于是恶补了一下, 把StringTokenizer在JDK中的文档也翻 ...
- lua脚本分解字符串
--local str = "文字45 文字 789 文们adsd45 文字 wowo 文字 文字 wowo我们 wowo456 wiwo 465我们 456sdf 45 45我们adsd4 ...
- Java StringTokenizer分割字符串
除了String本身的split方法,JDK在很早就提供了StringTokenizer这个类来分割字符串: 不过,由于正则表达式和String本身的功能越来越多,StringTokenizer已经被 ...
- 用StringHelper.Split分解字符串
StringHelper提供了大量的方法,从而用链试写法处理字符串,实现对字符串的各种操作.比如: var s1,s2:string; begin s1:='abcdefg'; s2:=s1.subs ...
- C#中Spli、正则表达式分解字符串详解
一.String.Split方法提供了如下6个重载函数: 名称 说明 String.Split (Char[]) 返回包含此实例中的子字符串(由指定 Char 数组的元素分隔)的 String 数组. ...
- leetcode题解之分解字符串域名
1.题目描述 A website domain like "discuss.leetcode.com" consists of various subdomains. At the ...
随机推荐
- Windows开机出现提示“nwsvc.exe”错误怎么办
开机时出现错误提示: Microsoft Visual C++ Runtime Library Runtime Error! Program: C:\Windows\system32\nwsvc.ex ...
- Entity Framework底层操作封装V2版本号(1)
由于同志们一直给我提建议说.曾经发的版本号有问题.所以经过了我这一年多的使用和扩展,如今方法基本稳定了. 如今贴出来给大家使用: 首先上场的是数据库操作层: using System; using S ...
- 算法笔记_074:子集和问题(Java)
目录 1 问题描述 2 解决方案 2.1 全排列思想求解 2.2 状态空间树思想求解 1 问题描述 求n个正整数构成的一个给定集合A = {a1,a2,a3,...,an}的子集,子集的和要等于一 ...
- Odoo/OpenERP 日志配置、使用及实现
当应用处于生产环境时,日志提供了有价值的运行时调试及监控信息,并且,也是一个有用的调试工具对于处于开发阶段的应用来说.此文描述在Odoo8.0中日志的配置.使用及实现 日志配置 Odoo ...
- 【DB2】NVL2函数
语法: NVL2(表达式1,表达式2,表达式3) 如果表达式1为空,返回值为表达式3的值.如果表达式1不为空,返回值为表达式2的值. 例子: SELECT ID, NVL2(SEX,'非空','空值' ...
- sharepoint admin svc must be running in order to create deployment timer job 若要创建计时器作业,必须执行SVC
sharepoint admin svc must be running in order to create deployment timer job 若要创建计时器作业.必须执行SVC ...
- VMware Workstation Pro v14.0下载及永久激活密钥
VMware Workstation Pro v14.0 更新日志: 1.新版支持在Windows 10 创意者更新版上运行并且支持创建和运行创意者更新版虚拟机: 2.新版新增对Ubuntu 17.0 ...
- sphinx设置多属性过滤的方法(setFilter)
需求描述 mysql中,每一个文档都有多个标签,查询时可以筛选一个标签也可以筛选同时拥有多个标签的文档. 数据示例 文档 标签 1 1,2,3,4,5 2 2,3,4,5,6 ...
- SiteWhere物联网云平台架构
SystemArchitecture系统架构 Thisdocument describes the components that make up SiteWhere and how theyrela ...
- C# 正则表达式替换制定关键词后面的所有内容
如题,将 {OUTSCIPTE} 关键词后的所有内容替换为string.Empty(包含关键字)这个正则该怎么写?我是 {OUTSCIPTE}(.*)$ 写的但是什么反应也没有 string str= ...