java正則表達式appendReplacement和appendTail方法


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);
    }
}

注釋已經夠詳細了,就不重復了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM