1. 程式人生 > >字串擷取常用方法

字串擷取常用方法

字串擷取的常用方法
string str = “123abc456”; int i = 3;

  1. 取字串的前i個字元

str=str.Substring(0,i);
2. 去掉字串的前i個字元

str=str.Substring(i);
3. 從右邊開始取i個字元

str=str.Substring(str.Length-i);
4. 從右邊開始去掉i個字元

str=str.Substring(0,str.Length-i);
5. split()+正則表示式來進行擷取。 將正則傳入split()。返回的是一個字串陣列型別。不過通過這種方式擷取會有很大的效能損耗,因為分析正則非常耗時。

String str = “abc,12,3yy98,0”;
String[] strs=str.split(",");
for(int i=0,len=strs.length;i<len;i++){
System.out.print(strs[i].toString()+" ");
}
執行結果:

abc 12 3yy98 0 
6. 通過subString()方法來進行字串擷取。 subString通過不同的引數來提供不同的擷取方式

6.1 只傳一個引數 例如:

String sb = “bbbdsajjds”;
sb.substring(2);
將字串從索引號為2開始擷取,一直到字串末尾。(索引值從0開始);
6.2 傳入2個引數為索引值

String sb = “bbbdsajjds”;
sb.substring(2, 4);
從索引號2開始到索引好4結束(並且不包含索引4擷取在內,也就是說實際擷取的是2和3號字元);
執行結果如下:

bdsajjds
bd
7. 通過StringUtils提供的方法 (運用StringUtils需要匯入相關jar檔案,commons-lang3-3.1.jar, import org.apache.commons.lang3.StringUtils;)

第一種方式:

StringUtils.substringBefore(“dskeabcee”, “e”);
結果是:

dsk 這裡是以第一個”e”,為標準。
第二種方式:

StringUtils.substringBeforeLast(“dskeabcee”, “e”)
結果為:

dskeabce 這裡以最後一個“e”為準。