2016-05-26 89 views
1

當前字符串的值是添加轉義參數爲字符串不工作

^I am Shaikh with "([^"]*)" and "([^"]*)"$ 

我的代碼如下:

System.out.println(strAnnotationValue); // prints ^I am Shaikh with "([^"]*)" and "([^"]*)"$ 

strAnnotationValue = strAnnotationValue.replaceAll("\"", "\\\""); 
System.out.println(strAnnotationValue); 

Actual Output: ^I am Shaikh with "([^"]*)" and "([^"]*)"$ 
Expected Output: ^I am Shaikh with \"([^\"]*)\" and \"([^\"]*)\"$ 

我寫正確的代碼,但它是不工作,有沒有其他方法可以做到這一點?

+3

只是一個友好的通知:如果你不工作的代碼中,有一個非常好的機會,你的代碼已經寫ISN」 t正確。 – Makoto

+1

看看這個答案http://stackoverflow.com/questions/20556101/java-replace-all-in-a-string-with –

回答

1

如果你的是一個完美的代碼,那麼你會得到預期的輸出嗎?

做一件事更換您此行

strAnnotationValue = strAnnotationValue.replaceAll("\"", "\\\""); 

與此

strAnnotationValue = strAnnotationValue.replaceAll("\"", "\\\\\""); 
+0

謝謝Anoop!這工作:) –

+0

@HifzurRahman歡迎:) –

0

\\\"意味着\",當它的輸出,這將是顯示:"

所以這樣做: \\\\"

\\\\"意味着\\",當輸出中,這將是diaplay:\"

strAnnotationValue = strAnnotationValue.replaceAll("\"", "\\\\\""); 
+0

感謝您的解釋明星:) –

+0

@HifzurRahman這是我的榮幸^ _ ^ – star