public String replaceAll(String replacement)
用给定的字符串替换与模式匹配的输入序列的每个子序列。
这个方法首先重置这个匹配器。然后扫描输入序列寻找模式匹配。不属于任何匹配的字符直接
附加到结果字符串;每个匹配在替换字符串的结果中被替换。如appendreplacement方法中
的替换字符串可能包含对捕获的子序列的引用。
请注意替换字符串中的反斜杠(\)和美元符号($)可能会导致结果与将它视为字面替换字符
串时的结果不同。美元符号可以被视为对如上所述捕获的子序列的引用,并且反斜杠用于转义
替换字符串中的文字字符。
给定正则表达式"a*b",输入"aabfooaabfooabfoob"和替换字符串"-",在该表达式的匹
配器上调用此方法将产生字符串"-foo-foo-foo-"。
调用这个方法改变了这个匹配器的状态。如果匹配器将被用于进一步的匹配操作,那么它首先
应该被重置。
Parameters:
replacement - 替换字符串
Returns:
通过用替换字符串替换每个匹配的子序列而构建的字符串,根据需要替换捕获的子序列
测试代码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatcherTest {
public static void main(String[] args) {
repalceAllTest();
}
public static void repalceAllTest() {
String s = "aabfooaabfooabfoob";
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher(s);
System.out.println(m.replaceAll("-"));
}
}
输出结果为:
-foo-foo-foo-