在線文檔地址:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh
replaceAll
public String replaceAll(String replacement)
-
替換模式與給定替換字符串相匹配的輸入序列的每個子序列。
此方法首先重置匹配器。然后,它將掃描輸入序列以查找該模式的匹配項。不屬於任何匹配的字符被直接添加到結果字符串;在結果中每個匹配都將被替換字符串所替換。替換字符串可能包含到已捕獲子序列的引用,如在
appendReplacement
方法中一樣。注意,在替換字符串中使用反斜線 (\) 和美元符號 ($) 可能導致與作為字面值替換字符串時所產生的結果不同。美元符號可視為到如上所述已捕獲子序列的引用,反斜線可用於轉義替換字符串中的字面值字符。
在給定正則表達式 a*b、輸入 "aabfooaabfooabfoob" 和替換字符串 "-" 的情況下,為該表達式針對匹配器調用此方法將產生字符串 "-foo-foo-foo-"。
調用此方法將更改此匹配器的狀態。如果在將來的匹配操作中使用該匹配器,則應該首先重置它。
-
- 參數:
-
replacement
- 替換字符串。 - 返回: 通過使用替換字符串替換每個匹配子序列,並在需要時取代已捕獲子序列所構造的字符串。
public void test2() { String a = "電信20元"; String regEx = "[^0-9]"; Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(a); System.out.println(m.replaceAll("-")); //打印結果 : --20- }
注:只保留了原字符串中匹配正則部分的 + 需要替換為新的字符的部分,如上例中的 --20- ,與之對應。