【问题标题】:JAVA - How to replace all \ characters to \\ in String [duplicate]JAVA - 如何将字符串中的所有\字符替换为\\ [重复]
【发布时间】:2019-01-30 10:05:12
【问题描述】:

我正在尝试用 java 将所有 \ 字符替换为 \\。这可能是个愚蠢的问题,但我已经为此尝试了很多东西。我的尝试如下:

String strToReplace = oldString;

strToReplace = strToReplace.replaceAll("\\","\\\\");

oldString 包含“D:\Work\Project\Data”。我从属性文件中读取的。 以上是给我错误:

Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
 ^
    at java.util.regex.Pattern.error(Pattern.java:1955)
    at java.util.regex.Pattern.compile(Pattern.java:1702)
    at java.util.regex.Pattern.<init>(Pattern.java:1351)

还有其他方法可以做到这一点吗?

【问题讨论】:

  • 第一行本身不能编译!
  • 或许你需要将strToReplace定义为"D:\\Work\\Project\\Data";
  • 我编辑了这个问题。该字符串包含我从属性文件中读取的值。
  • 你试过strToReplace.replace("\\","\\\\")吗?

标签: java


【解决方案1】:

replaceAll 将您的论点解释为 RegEx。你需要双重转义它。

尝试以下:

string.replaceAll("\\\\", "\\\\\\\\");

请关注link

【讨论】:

    猜你喜欢
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-13
    • 1970-01-01
    • 2020-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多