Java的中的replace() replaceAll() replaceFirst()都是用於字符串替換的函數。作用分別如下:
(1)replace()
函數原型:replace(CharSequence target, CharSequence replacement) 用replacement替換掉target。這兩個參數都是字符串
實例:
public class TryDotRegEx{ public static void main(String args[]){ String ss="aaabbbbccaadd"; ss=ss.replace("aa","00"); System.out.println(ss); } }
輸出:00abbbbcc00dd
最普通的字符串替換函數
(2) replaceAll()
函數原型:replaceAll(String regex, String replacement) 用replacement所有regex匹配的字符串。很明顯regex參數是個正則匹配式,replacement是個字符串。
實例:
public class TryDotRegEx{ public static void main(String args[]){ String ss="abac"; ss=ss.replaceAll("a(\\w)","$1$1"); System.out.println(ss); } } //bbcc 這里將a替換成a緊跟的下一個字符創
在第二個參數中“$” 是用來獲取分組內容的"$1"表示獲取第一個分組。其中分組的意思的正則表達式里面有多少個()這個。分別以1-9表示。很顯然上文的例子的正則表達式只有一個。
(3)replaceFirst
函數原型:
replaceFirst(String regex, String replacement),基本和replaceAll相同,區別是只替換第一個匹配項。
實例
public class TryDotRegEx{ public static void main(String args[]){ String ss="abacabac"; ss=ss.replaceFirst("a(\\w)","$1$1"); System.out.println(ss); } }
輸出:bbacabac
帶轉義字符的匹配。如果我們要將a替換成\a。那么在replaceAll和replaceFirst()函數中。第二個參數要寫成"\\\\a" 這樣才是替換成\a
