转义两个单反斜杠\

时间:2019-03-05 23:57:35

标签: java regex string

我有以下字符串,我只想在双引号之间转义反斜杠。我尝试这样做,

String s = "Hello\na = a.split(\"\n\")";
String tem = s.replaceAll("(?<=\")[^\\\\](?=\")", "\\\\");

但是我得到以下输出,

# output
Hello
a = a.split("\")

我希望它是

Hello
a = a.split("\n")

对此有任何想法吗?

2 个答案:

答案 0 :(得分:1)

简单点:

假设反​​斜杠和双引号始终位于\ n字符之前

public static void main(String[] args) {
    String s = "Hello\na = a.split(\"\n\")";
    String tem = s.replaceAll("\\\"\\n\\\"", "\\\"\\\\n\\\"");
    System.out.println(tem);
}

答案 1 :(得分:0)

简单些吗?

String s = "Hello\na = a.split(\"\n\")";
String tem = s.replaceAll("(\\)(?=\")", "\\\\");    

您可以尝试herehere