一、replace和replaceAll的基本概念
replace()和replaceAll()方法都是用於字符串替換的,主要區別在於替換方式和替換範圍。
replace()方法的使用格式如下:
String replace(CharSequence target, CharSequence replacement)
其中,target是被替換的字符串,replacement是替換後的字符串。這個方法只會替換第一個匹配的字符串。
replaceAll()方法的使用格式如下:
String replaceAll(String regex, String replacement)
其中,regex指定被替換部分的正則表達式,replacement指定替換後的字符串。replaceAll()方法將會替換所有匹配的字符串。
二、替換方式的差別
replace()方法只會替換第一個匹配的字符串,而replaceAll()方法會替換所有匹配的字符串。
下面是replace()方法的例子:
String str1 = "hello world"; str1 = str1.replace("l","2"); System.out.println(str1); // he22o world
可以看到,只有字符串中的第一個字母l被替換成了數字2。
下面是replaceAll()方法的例子:
String str2 = "hello world"; str2 = str2.replaceAll("l","2"); System.out.println(str2); // he22o wor2d
可以看到,所有的字母l都被替換成了數字2。
三、替換範圍的差別
replace()方法只會替換匹配到的第一個字符串,而replaceAll()方法會替換所有匹配到的字符串。
下面是replace()方法的例子:
String str3 = "hello world"; str3 = str3.replace("l","2"); System.out.println(str3); // he22o world
可以看到,只有第一個字母l被替換了。
下面是replaceAll()方法的例子:
String str4 = "hello world"; str4 = str4.replaceAll("l","2"); System.out.println(str4); // he22o wor2d
可以看到,所有的字母l都被替換了。
四、正則表達式的應用
replaceAll()方法支持正則表達式替換,可以使用正則表達式進行更加靈活的字符串替換。
下面是一個使用正則表達式的例子:
String str5 = "hello world"; str5 = str5.replaceAll("(l)(o)","$2$1"); System.out.println(str5); // hlelo wolrd
可以看到,正則表達式”(l)(o)”匹配到了所有的”lo”,然後將”o”和”l”反轉位置。
五、總結
replace()方法和replaceAll()方法都是字符串替換的方法,區別在於替換方式和替換範圍。replace()方法只會替換第一個匹配的字符串,而replaceAll()方法會替換所有匹配的字符串;replaceAll()方法支持正則表達式替換,可以進行更加靈活的字符串替換。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/152042.html