第一种方法:https://www.cnblogs.com/shenminle
可能一下子就会想到使用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对象的位置。如下:
String orgStr = "15451255555534";
String tmp = orgStr;
String[] splitStr = new String[10];
int i = 0;
while (true) {
int j = tmp.indexOf("5");// 找分隔符的位置
if (j == -1) {// 没有分隔符存在
splitStr[i] = tmp;
break;
}
splitStr[i] = tmp.substring(0, j);// 找到分隔符,截取子字符串
i++;
tmp = tmp.substring(j + 1); // 剩下需要处理的字符串
}
原文:https://www.cnblogs.com/shenminle/p/14471380.html