java.util.regex.Matcher.appendReplacement() 方法
描述
java.time.Matcher.appendReplacement(StringBuffer sb, String replacement) 方法实现了一个非终端追加和替换步骤。
声明
以下是 java.time.Matcher.appendReplacement(StringBuffer sb, String replacement) 方法的声明。
public Matcher appendReplacement(StringBuffer sb, String replacement)
参数
sb − 目标字符串缓冲区。
replacement − 替换字符串。
返回值
此匹配器。
异常
IllegalStateException − 如果尚未尝试匹配,或者之前的匹配操作失败。
IllegalArgumentException − 如果替换字符串引用了模式中不存在的命名groupCount。
IndexOutOfBoundsException − 如果替换字符串引用模式中不存在的groupCount。
示例
下面的例子展示了 java.time.Matcher.appendReplacement(StringBuffer sb, String replacement) 方法的用法。
package com.tutorialspoint; import java.util.regex.Matcher; import java.util.regex.Pattern; public class MatcherDemo { private static String REGEX = "a*b"; private static String INPUT = "aabfooaabfooabfoob"; private static String REPLACE = "-"; public static void main(String[] args) { Pattern pattern = Pattern.compile(REGEX); // get a matcher object Matcher matcher = pattern.matcher(INPUT); StringBuffer buffer = new StringBuffer(); while(matcher.find()) { matcher.appendReplacement(buffer, REPLACE); } matcher.appendTail(buffer); System.out.println(buffer.toString()); } }
让我们编译并运行上面的程序,这将产生以下结果 −
-foo-foo-foo-