2011-05-11 289 views
4

這裏我的字符串是看起來像: -替換雙引號(「)

sTest = AAAAA"1111 

我要替換雙引號來一回病房斜線和一個雙引號(\"

我需要的字符串像

sTest = AAAAA\"1111 
+3

好的,那麼你有什麼嘗試? – 2011-05-11 14:00:09

回答

2

string.replace("\"", "\\\"")

要替換"\"。由於"\都具有特定的含義,因此必須在每個之前添加前面的\以正確地轉義它們。

因此"\"\"\\\"。 而且由於您希望編譯器明白這是一個字符串,所以您需要用雙引號將每個字符串包裝爲所有"\""\"""\\\""

+0

感謝Ronk的建議。 – Binaya 2011-05-30 07:08:46

0
System.out.println("AAAAA\"1111".replaceAll("\"", "\\\\\"")); 
3
String escaped = "AAAAA\"1111".replace("\"", "\\\""); 

(注意replaceAll版本處理正則表達式,是這種特定情況矯枉過正。)

1

雖然其他對於所給出的單一情況,答案是正確的,對於更復雜的情況,你m希望使用Apache Commons Lang的StringEscapeUtils.escapeJava(String)

String escaped = StringEscapeUtils.escapeJava(string);