Javaregex-matcher-appendreplacement
提供:Dev Guides
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 -置換文字列が、パターンに存在しない名前付きキャプチャグループを参照している場合。
- IndexOutOfBoundsException -置換文字列が、パターンに存在しないキャプチャグループを参照している場合。
例
次の例は、java.time.Matcher.appendReplacement(StringBuffer sb、String replacement)メソッドの使用方法を示しています。
package com.finddevguides;
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-