我有一个奇怪的问题。

我正在应用程序中调用Web服务,有时响应有时会在控制台"\n"中这样打印,现在我想用一个空括号替换它,以便将其打印为""

所以我尝试过

String serverResponse = Util.callService(.....);
System.out.println(serverResponse.replace("\"\\n\"","\"\"");


但是输出仍然显示"\n"而不是""

当我对字符串进行硬编码时,它可以工作

例如

String str = ""\"\\n\""; // equals to "\n" in console
 System.out.println(serverResponse.replace("\"\\n\"","\"\""); //prints ""


问题是什么 ?是编码的东西吗?为什么第一个代码不能与服务器响应一起使用?

注意:我无法控制Web服务。

最佳答案

我解决了它需要4个反斜杠,而不是两个:

String serverResponse = Util.callService(.....);
System.out.println(serverResponse.replace("\"\\\\n\"","\"\"");

10-07 23:39