我有一个奇怪的问题。
我正在应用程序中调用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\"","\"\"");