由replaceAll引发的java.util.regex.PatternSyntaxException错误

来源:互联网 发布:美国人聊天软件 编辑:程序博客网 时间:2024/05/18 03:18
如text.replaceAll(filename, newPicName); 出错

filename 中含有正则表达式的特殊字符,正则表达式引擎将其解释为语法错误,改成:

text.replace(filename, newPicName);

这样就行了,按照普通字符来工作。

replaceAll 方法的第一个参数是一个正则表达式。
replace 方法虽然采用采用正则表达式工具工作的,但在其内部已经进行了字面模式处理,
所有的字符都视为普通字符处理。

不要被 replaceAll 中的 All 欺骗了,这两种方法都替换所有的字符串,只是采用的形式
不同已。
注:把“\”换成“/”应该