Java中replace與replaceAll區別

童夢國度發表於2019-02-17

  看門見山

1.java中replace API:

  replace(char oldChar, char newChar):寓意為:返回一個新的字串,它是通過用 newChar 替換此字串中出現的所有 oldChar 得到的。

  replace(CharSequence target, CharSequence replacement):寓意為:使用指定的字面值替換序列替換此字串所有匹配字面值目標序列的子字串。

  replaceAll(String regex, String replacement):寓意為:使用給定的 replacement 替換此字串所有匹配給定的正規表示式的子字串。

可以看出replace的引數是char與CharSequence,而replaceAll引數為regex(正規表示式)與replacement

2.舉個例子:

1     @Test
2     public void testString(){
3         String str="wel2come3Souhe0";
4         System.out.println(str.replace("e","E"));
5         System.out.println(str.replace(`e`,`E`));
6         System.out.println(str.replaceAll("\d","A"));
7         System.out.println(str.replaceAll("3","9"));
8     }

執行結果為:

1 wEl2comE3SouhE0
2 wEl2comE3SouhE0
3 welAcomeASouheA
4 wel2come9Souhe0

3.總結結果:replace替換字元與字串都是一樣的,replace可以根據除了字串替換外還可以正規表示式來進行替換;

4.多瞭解一個:

  replaceFirst(String regex, String replacement) 使用給定的 replacement 替換此字串匹配給定的正規表示式的第一個子字串。

舉個例子:

1     @Test
2     public void testString(){
3         String str="wel2come3Souhe0";
4         System.out.println(str.replaceFirst("\d","A"));
5     }

執行結果為:

welAcome3Souhe0

總結:只替換第一次出現的匹配的正規表示式;

完畢!

使用給定的 replacement 替換此字串所有匹配給定的正規表示式的子字串。

相關文章