java - 如何阻止 java replaceAll() 删除反斜杠?

标签 java string

我正在编写一些简单的 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/

相关文章:

java - 最终引用变量的重要性

java - 如何在 Java 中配置 .dll 文件?

java - 中央处理器性能

java - "Variable"无法解析为变量。?

c# - 属性参数必须是属性参数类型的常量表达式、typeof 表达式或数组创建表达式

php - 使用 PHP 清理内容的最佳方法?

php - 陷入空和 foreach 困境

java - 两个类之间的 ActionListener

java - 当两个微调器等于特定字符串时,如何允许调用函数?

java - 简单的java程序根据它们的值来处理canopy簇字符串