因为replace、replaceAll替换字符是使用正则表达式替换的,但是在正则表达式里面比如符号[]是有实际意义的,直接替换就会冲突
常见的方法就是加上转义符\
比如符号" 使用reolace的时候就需要写成 str.replace("\"","目标字符"),具体多少种字符自己查找javaApi,里面有介绍
大部分记上转义符\就可以了
但经过我的测试发现有些时候只加一个是不够的,比如[或]需要加上\\[ \\],两个转义符
到这里基本能解决大部分的情况了。
But还是有例外。我在使用时100个字符会有部分无法替换成功(应用在我的富文本编辑器里面),具体发生原因已经没有时间去详细追究了。直接给上最终解决方案
加上三条转义符 eg :" 就是 \\\"
这时候无论如何都可以了