1. 程式人生 > >用JAVA正則表示式 刪除字串的特定子串

用JAVA正則表示式 刪除字串的特定子串

 轉載自:http://chwshuang.iteye.com/blog/1097444

有些字串是我們儲存某種型別名稱的,往往有逗號‘,’或者其他符號來分隔。如果我們刪除某一個引數時,往往沒有陣列或者列表那麼方便。但是,如果有了下面這個方法,我們同樣可以做好。

Java程式碼  收藏程式碼
  1. public class Test3 {  
  2.     /** 
  3.      * @param args 
  4.      */  
  5.     public static void main(String[] args) {  
  6.         //要切割的字串  
  7.         String   s   = "123.jpg,113.jpg,121.jpg,122.jpg,131.jpg"
    ;   
  8.         String   sub =   "";  
  9.         System.out.println("編譯前:"+s);  
  10.         //呼叫方法  
  11.         sub = s.replaceAll( ",113.jpg|113.jpg,","");//.replaceAll( ",122.jpg|122.jpg,","");  
  12.         System.out.println("編譯後:"+sub);  
  13.     }  
  14. }  

列印結果:

Java程式碼  收藏程式碼
  1. 編譯前:123.jpg,113.jpg,121.jpg,122.jpg,131.jpg  
  2. 編譯後:123.jpg,121.jpg,122.jpg,131.jpg  

下面回顧一下JDK1.6中的replaceAll方法說明:

Java程式碼  收藏程式碼
  1. replaceAll  
  2. public String replaceAll(String regex,  
  3.                          String replacement)使用給定的 replacement 替換此字串所有匹配給定的正則表示式的子字串。   
  4. 呼叫此方法的 str.replaceAll(regex, repl) 形式與以下表達式產生的結果完全相同:   
  5. Pattern.compile(regex).matcher(str).replaceAll(repl)  
  6. 注意,在替代字串中使用反斜槓 (\) 和美元符號 ($) 與將其視為字面值替代字串所得的結果可能不同;請參閱 Matcher.replaceAll。如有需要,可使用 Matcher.quoteReplacement(java.lang.String) 取消這些字元的特殊含義。   
  7. 引數:  
  8. regex - 用來匹配此字串的正則表示式  
  9. replacement - 用來替換每個匹配項的字串   
  10. 返回:  
  11. 所得 String   
  12. 丟擲:   
  13. PatternSyntaxException - 如果正則表示式的語法無效  
  14. 從以下版本開始:   
  15. 1.4   
  16. 另請參見:  
  17. Pattern