2013-11-02 5 views
2

У меня есть странная проблема.заменить строку на строку java

Я звоню веб-службы в моем приложении и ответ иногда распечатана, как это в консоли "\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 "" 

чем проблема? это кодирование? почему первый код не работает с ответом сервера?

Примечание: у меня нет контроля над веб-сервисом.

+1

Проверьте шестигранные из ответа: для (полукокса с: response.toCharArray()) System.out.print (целое число. toHexString (c) + ""); Это должно напечатать 22 5c 6e 22 – LINEMAN78

+0

Вы правы, печать 22 5c 6e 22. в чем проблема ?? как я могу заменить строку – user4o01

+0

Как насчет статической строки «\» \\ n \ », возвращает ли она те же символы? (они не должны быть, но вы никогда не знаете) – LINEMAN78

ответ

0

Я решить это требует 4 обратный слэш, а не два:

String serverResponse = Util.callService(.....); 
System.out.println(serverResponse.replace("\"\\\\n\"","\"\""); 
Смежные вопросы