有些字符串是我們存儲某種類型名稱的,往往有逗號‘,'或者其他符號來分隔。如果我們刪除某一個參數時,往往沒有數組或者列表那么方便。但是,如果有了下面這個方法,我們同樣可以做好。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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); } } |
打印結果:
1
2
3
|
編譯前: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 - 如果正則表達式的語法無效