最近在專案中遇到一個小問題,一個字串分割成一個數組,類似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
以上這篇java 字串分割的三種方法(總結)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持PHP中文網。
更多java 字串分割的三種方法相關文章請關注PHP中文網!