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”為准。