<正則吃餃子> :關於 Matcher 的 replaceAll 的簡單使用


在線文檔地址http://tool.oschina.net/apidocs/apidoc?api=jdk-zh

replaceAll

public String replaceAll(String replacement)
替換模式與給定替換字符串相匹配的輸入序列的每個子序列。

此方法首先重置匹配器。然后,它將掃描輸入序列以查找該模式的匹配項。不屬於任何匹配的字符被直接添加到結果字符串;在結果中每個匹配都將被替換字符串所替換。替換字符串可能包含到已捕獲子序列的引用,如在 appendReplacement 方法中一樣。

注意,在替換字符串中使用反斜線 (\) 和美元符號 ($) 可能導致與作為字面值替換字符串時所產生的結果不同。美元符號可視為到如上所述已捕獲子序列的引用,反斜線可用於轉義替換字符串中的字面值字符。

在給定正則表達式 a*b、輸入 "aabfooaabfooabfoob" 和替換字符串 "-" 的情況下,為該表達式針對匹配器調用此方法將產生字符串 "-foo-foo-foo-"

調用此方法將更改此匹配器的狀態。如果在將來的匹配操作中使用該匹配器,則應該首先重置它。

 

參數:
replacement - 替換字符串。
返回:
通過使用替換字符串替換每個匹配子序列,並在需要時取代已捕獲子序列所構造的字符串。
public void test2() {
    String a = "電信20元";
    String regEx = "[^0-9]";
    Pattern p = Pattern.compile(regEx);
    Matcher m = p.matcher(a);
    System.out.println(m.replaceAll("-"));
        
    //打印結果 :  --20-
}

:只保留了原字符串中匹配正則部分的 + 需要替換為新的字符的部分,如上例中的  --20-   ,與之對應。


免責聲明!

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



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