java 字符串分割的三种方法 (总结)
这里有新鲜出炉的 Java 设计模式, 程序狗速度看过来!
Java 程序设计语言
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言, 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台 (即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se)) 的总称
下面小编就为大家带来一篇 java 字符串分割的三种方法 (总结) 小编觉得挺不错的, 现在就分享给大家, 也给大家做个参考一起跟随小编过来看看吧
最近在项目中遇到一个小问题, 一个字符串分割成一个数组, 类似 String str=aaa,bbb,ccc; 然后以, 为分割符, 将其分割成一个数组, 用什么方法去实现呢?
第一种方法:
可能一下子就会想到使用 split()方法, 用 split()方法实现是最方便的, 但是它的效率比较低
第二种方法:
使用效率较高的 StringTokenizer 类分割字符串, StringTokenizer 类是 JDK 中提供的专门用来处理字符串分割子串的工具类它的构造函数如下:
public StringTokenizer(String str, String delim)
str 是要分割处理的字符串, delim 是分割符号, 当一个 StringTokenizer 对象生成后, 通过它的 nextToken()方法便可以得到下一个分割的字符串, 再通过 hasMoreTokens()方法可以知道是否有更多的子字符串需要处理这种方法的效率比第一种高
第三种方法:
使用 String 的两个方法 indexOf()和 subString(),subString()是采用了时间换取空间技术, 因此它的执行效率相对会很快, 只要处理好内存溢出问题, 但可大胆使用而 indexOf()函数是一个执行速度非常快的方法,
原型如下:
public int indexOf(int ch) 它返回指定字符在 String 对象的位置如下:
举例:
"ab&&2" 以 & 分割成 "ab" "2"
- String tmp = "ab&&2";
- String splitStr = null;
- int j = tmp.indexOf("&"); // 找分隔符的位置
- splitStr = tmp.substring(0, j); // 找到分隔符, 截取子字符串
- tmp = tmp.substring(j + 2); // 剩下需要处理的字符串
- System.out.println(splitStr);
- System.out.println(tmp);
- ab
- 2
来源: http://www.phperz.com/article/18/0207/359313.html