第一種方法: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); // 剩下需要處理的字符串
}
