字符串截取的常用方法


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

 

 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM