使用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 ...
随机推荐
- PHP上传文件功代码练习(单文件)
前端: <html> <head><title>upload file</title> <meta http-equiv="Conten ...
- wtforms 提示 中文 flask
#! /usr/bin/python3 # -*- coding: utf8 -*- from wtforms.fields.simple import TextField, PasswordFi ...
- 算法笔记_161:算法提高 十进制数转八进制数(Java)
目录 1 问题描述 2 解决方案 1 问题描述 编写函数,其功能为把一个十进制数转换为其对应的八进制数.程序读入一个十进制数,调用该函数实现数制转换后,输出对应的八进制数. 样例输入 9274 样 ...
- adb shell root
因为开发需要,我经常会用到adb这个工具(Android Debug Bridge),我们都知道adb shell默认是没有root权限的,修改系统文件就很不方便了,adb push一个文件就提示Pe ...
- mui 监听app运行状态
<!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...
- [Spring MVC - 2A] - java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
严重: Servlet.service() for servlet [springMVC] in context with path [/ExceptionManageSystem] threw ex ...
- 误删 libc.so.6的解决方法(转)
今天不小心把libc.so.6给删除了. 原系统是这样的: libc.so.6 -> lib-2.6.1.so 本想新建立一个软链接,指向 lib-2.8.so 没想到 ln 命令不能用了. 原 ...
- Google 地图 API for Android
原文:Introduction to Google Maps API for Android 作者:Eunice Obugyei 译者:kmyhy 从健康类 app Runkeeper 到游戏 app ...
- 使用PostSharp在.NET平台上实现AOP
摘自:http://www.cnblogs.com/leoo2sk/archive/2010/11/30/aop-postsharp.html 本文首先介绍AOP(面向方面编程)的相关概念及理论,然后 ...
- 我的第一个 RN 项目-趣闻
代码地址如下:http://www.demodashi.com/demo/13486.html 项目预览 IOS: Android: 扫描体验: 或者点我 整体功能跟之前小程序和 Android 项目 ...