有些字符串是我們存儲某種類型名稱的,往往有逗號','或者其他符號來分隔。如果我們刪除某一個參數時,往往沒有數組或者列表那麼方便。但是,如果有了下面這個方法,我們同樣可以做好。
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); }}打印結果:
編譯前:123.jpg,113.jpg,121.jpg,122.jpg,131.jpg編譯後:123.jpg,121.jpg,122.jpg,131.jpg
下面回顧一下JDK1.6中的replaceAll方法說明:
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 - 如果正則表達式的語法無效