在线文档地址: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- ,与之对应。