我正在编写一些简单的 Java 代码,这些代码在字符串中查找名为 REPLACEALL
的值。找到该字符串后,我将其替换为路径名作为值(例如:D:\test\path\something
)。但是,当我运行代码时,它会很好地替换它,但会删除单个 \
。我不确定为什么并设置了调试以查看它发生的位置。原始字符串可以正常传递,只有当字符串通过 replaceAll()
时才会导致此问题。
Java:
String path = "D:\test\path\something";
String s1="select * from Webserver WHERE data= REPLCAEME";
String replaceString=s1.replaceAll("REPLACEME"," ' " + path + " ' ");
System.out.println(replaceString);
最佳答案
反斜杠在字符串中用作转义字符,这意味着您必须将其本身转义为 \\
.否则,它表示特殊字符,例如 \t
表示制表符空间,因此在您的示例中 \test
有效地意味着 <tab>est
.
关于java - 如何阻止 java replaceAll() 删除反斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60226547/