java replaceAll() 方法要用 4 个反斜杠,表示一个反斜杠
例如 str1="aa/bbb"; str2="aa'bbb";
要想替换成 str1="aa//bbb";str2="aa/'bbb";
必须这样替换:
str1 = str1.replaceAll("////", "////////");
str2 = str2.replaceAll("'", "////'");
原因如下:
String 的 replaceAll() 方法,实际是采用正则表达式的规则去匹配的,
//// ,java解析为//交给正则表达式, 正则表达式再经过一次转换,把//转换成为/
也就是java里面要用正则来表示一个/. 必须写成4个/
如果要表示//,那就要写8个/
所以如果写成: str1 = str1.replaceAll("//", "////");
就会报正则表达式的错误。
还把有 反斜杠 换成 斜杠
String path="aaa//bbb";
path=path.replace("//", "/");
本文详细介绍了在Java中如何正确使用String类的replaceAll方法进行字符串替换,特别是当需要替换包含特殊字符(如斜杠)的情况时。文章通过具体示例展示了如何避免常见错误,并解释了为何需要使用额外的转义字符。
1603

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



