用JAVA正則表示式 刪除字串的特定子串
阿新 • • 發佈:2019-02-19
轉載自:http://chwshuang.iteye.com/blog/1097444
有些字串是我們儲存某種型別名稱的,往往有逗號‘,’或者其他符號來分隔。如果我們刪除某一個引數時,往往沒有陣列或者列表那麼方便。但是,如果有了下面這個方法,我們同樣可以做好。
Java程式碼- public class Test3 {
- /**
- * @param args
- */
- public static void main(String[] args) {
- //要切割的字串
-
String s = "123.jpg,113.jpg,121.jpg,122.jpg,131.jpg"
- String sub = "";
- System.out.println("編譯前:"+s);
- //呼叫方法
- sub = s.replaceAll( ",113.jpg|113.jpg,","");//.replaceAll( ",122.jpg|122.jpg,","");
- System.out.println("編譯後:"+sub);
- }
- }
列印結果:
Java程式碼-
編譯前:123.jpg,113.jpg,121.jpg,122.jpg,131.jpg
- 編譯後:123.jpg,121.jpg,122.jpg,131.jpg
下面回顧一下JDK1.6中的replaceAll方法說明:
Java程式碼- replaceAll
- public String replaceAll(String regex,
- String replacement)使用給定的 replacement 替換此字串所有匹配給定的正則表示式的子字串。
- 呼叫此方法的 str.replaceAll(regex, repl) 形式與以下表達式產生的結果完全相同:
-
Pattern.compile(regex).matcher(str).replaceAll(repl)
- 注意,在替代字串中使用反斜槓 (\) 和美元符號 ($) 與將其視為字面值替代字串所得的結果可能不同;請參閱 Matcher.replaceAll。如有需要,可使用 Matcher.quoteReplacement(java.lang.String) 取消這些字元的特殊含義。
- 引數:
- regex - 用來匹配此字串的正則表示式
- replacement - 用來替換每個匹配項的字串
- 返回:
- 所得 String
- 丟擲:
- PatternSyntaxException - 如果正則表示式的語法無效
- 從以下版本開始:
- 1.4
- 另請參見:
- Pattern