将Escape参数添加到String不起作用

时间:2016-05-26 06:09:59

标签: java

String的当前值是

^I am Shaikh with "([^"]*)" and "([^"]*)"$

我的代码如下:

System.out.println(strAnnotationValue); // prints ^I am Shaikh with "([^"]*)" and "([^"]*)"$

strAnnotationValue = strAnnotationValue.replaceAll("\"", "\\\"");
System.out.println(strAnnotationValue); 

Actual Output:   ^I am Shaikh with "([^"]*)" and "([^"]*)"$
Expected Output: ^I am Shaikh with \"([^\"]*)\" and \"([^\"]*)\"$

我已经编写了正确的代码但它没有用,有没有其他方法可以做到这一点?

2 个答案:

答案 0 :(得分:1)

如果你的代码是完美代码那么你会得到预期的输出吗?

做一件事取代你的这条线

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

用这个

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

答案 1 :(得分:0)

\\\"表示\",输出时会显示:"

所以这样做:\\\\"

\\\\"表示\\",当它输出时,它将是diaplay:\"

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