String.replaceAll single backslashes with double backslashes

后端 未结 5 608
孤街浪徒
孤街浪徒 2020-11-22 15:01

I\'m trying to convert the String \\something\\ into the String \\\\something\\\\ using replaceAll, but I k

5条回答
  •  遇见更好的自我
    2020-11-22 15:40

    The String#replaceAll() interprets the argument as a regular expression. The \ is an escape character in both String and regex. You need to double-escape it for regex:

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

    But you don't necessarily need regex for this, simply because you want an exact character-by-character replacement and you don't need patterns here. So String#replace() should suffice:

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

    Update: as per the comments, you appear to want to use the string in JavaScript context. You'd perhaps better use StringEscapeUtils#escapeEcmaScript() instead to cover more characters.

提交回复
热议问题