在替换字符串中的换行符‘\n’的时候,必须要写成下面的方式才能正确执行:
str.replace("\\n", "");
str.replaceAll("\\\\n","");
以下写法均替换失败:
str.replace("\n","");
str.replaceAll("\\n","");
str.replaceAll("\n","");
replace和replaceAll都是用于替换字符串中的特定部分的方法,但它们之间存在一些关键区别:
- 参数类型:
replace方法接受两个参数,第一个参数是要替换的子字符串,第二个参数是用于替换的新字符串。而replaceAll方法接受两个参数,第一个参数是一个正则表达式,用于匹配要替换的部分,第二个参数是用于替换的新字符串。 - 正则表达式支持:
replace方法不支持正则表达式,只能替换完全匹配的子字符串。相反,replaceAll方法支持正则表达式,可以匹配多个要替换的部分。 - 替换方式:
replace方法只替换第一个匹配到的子字符串。而replaceAll方法会替换所有匹配到的部分。
举个例子来说明:
String str = "hello world, hello Java";
String replacedStr1 = str.replace("hello", "hi"); // 输出: hi world, hello Java
String str = "\\";
System.out.println(str.replaceAll("\\\\", "\\\\\\\\")); // 输出: \
4624

被折叠的 条评论
为什么被折叠?



