appendReplacement是java中替換相應字符串的一個方法
appendReplacement(StringBuffer sb,String replacement)
將當前匹配子串替換為指定字符串,並且將替換后的子串以及其之前到上次匹配子串之后的字符串段添加到一個 StringBuffer 對象里
appendTail(StringBuffer sb)
將最后一次匹配工作后剩余的字符串添加到一個 StringBuffer 對象里
如果沒有理解的話,那就來一個簡單的demo吧
public class TheReplacements { public static void main(String[] args) throws Exception { // 生成 Pattern 對象並且編譯一個簡單的正則表達式"cat" Pattern p = Pattern.compile("cat"); // 用 Pattern 類的 matcher() 方法生成一個 Matcher 對象 Matcher m = p.matcher("fatcatfatcatfat"); StringBuffer sb = new StringBuffer(); while(m.find()){ //此時sb為fatdogfatdog,cat被替換為dog,並且將最后匹配到之前的子串都添加到sb對象中 m.appendReplacement(sb,"dog"); } //此時sb為fatdogfatdogfat,將最后匹配到后面的子串添加到sb對象中 m.appendTail(sb); //輸出內容為fatdogfatdogfat System.out.println("sb:"+sb); } }
注釋已經夠詳細了,就不重復了