使用 String 类的 ReplaceAll 方法时,我得到了一些奇怪的结果。
字符串查询包含以下内容:@cm:name:"hello"
如果我说 query.replaceAll(":", "\\:");
我期望以下结果:@cm\:name\:"hello"
相反,我得到:@cm:name:"hello"
。原始内容。
最佳答案
不要使用 replaceAll(..)
进行非正则表达式替换。请改用 replace(..)
。
然后,请确保:
query = query.replace(":", "\\:");
因为 String
是不可变的 - 即,如果您只是调用该方法而不分配结果,您什么也得不到 - 对象的内部状态不会改变。
关于java - 转义 '\' 以与 Java ReplaceAll 方法一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3355477/