一、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/n/152042.html