2014-10-28 108 views
3

如何將包含"的字符串替換爲\"替換包含「with 」的字符串?

replace(""","\"")不適合我。

public static String replaceSpecialCharsForJson(String str){ 
    return str.replace("'","\'") 
       .replace(":","\\:") 
       .replace("\"","\"") 
       .replace("\r", "\\r") 
       .replace("\n", "\\n"); 
} 
+0

你必須逃離'\':'「\\\」「'' – ifloop 2014-10-28 12:22:21

+0

」'是特殊字符,所以你必須之前使用\它就像這裏'\ r','\ n'。 – 2014-10-28 12:23:01

回答

5

你可以嘗試使用:

replace("\"","\\\"") 

由於兩個"\元字符,你必須逃脫他們\

+0

感謝一個人爲我工作.. – Yogesh 2014-10-28 12:37:13

1

試試這個:

replace("\"","\\\""); 
0

使用:

str.replace("\"","\\\"") 

所以你逃避了反斜槓。

1

作爲字符串的一部分的每個斜槓都需要被轉義。所以如果你想要一個字符串看起來像"\\",你的代碼將不得不包含String s = "\\\\"。醜陋但真實。

對於可能被解釋的任何其他特殊字符也是如此。包含行情和冒號。 這意味着" \ " "看起來像" \\ \" "(由空格,使獨立的逃逸更明顯)

0

你想

  • 更換"(正確轉義:\"
  • \"(正確轉義:\\\"

正確的調用是:

replace("\"", "\\\""); 
0

我試過這樣。我不知道有多少這是很有幫助的在您的情況

String oldStr = String.valueOf('"'); 
String newStr = File.separator.concat(String.valueOf('"'));  
System.out.println(oldStr.replace(String.valueOf('"'),newStr)); 
相關問題