区分replace和replaceAll

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011548068/article/details/70261968
首先给出这两个方法的注释:




看到解释,replaceAll的参数,第一个是正则表达式,也就是说我们输入的参数其实是会转义两次拿到我们真正想要转义的内容。
而replace的参数,是一个字符串。也就是转义了一次就可以拿到了我们真正想要转义的内容。
因此假如我们要将字符串里的\ 替换,用replaceAll方法,第一个参数应该是\\\\,用replace方法,第一个参数应该是\\

假如你直接用replaceAll('\\', '');这样来使用,那么运行时直接抛异常:
java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \ ^

猜你喜欢

转载自blog.csdn.net/u011548068/article/details/70261968