2014-12-23 95 views
0

這應該是一個非常簡單的問題,但我感到困惑,並且某些工作不正確。Android在字符串中解析報價

我想解析輸入字符串來替換「與[5178]和'與[5179]哪個效果很好,我得到的字符串就像我想要的,但是當我走另一條路時,我想解析[5178]到「和[5179]到',我得到了一些奇怪的東西。

這裏是我的代碼:

text = text.replaceAll("[5178]","\""); 
    text = text.replaceAll("[5179]","\'"); 

這部分不工作,而這部分的作用:

text = text.replaceAll("\"","[5178]"); 
    text = text.replaceAll("\'","[5179]"); 

當我輸入的文字讓我們說:Single quote ' and double quote "我得到:Single quote [5179] and double quote [5178],但是當我去其他方式,我得到Single quote ["""'] and double quote [""""]

我不知道發生了什麼,有什麼想法?

回答

3

replaceAll使用正則表達式作爲其第一個參數。 []用於分隔正則表達式中的一個character class所以需要進行轉義

text = text.replaceAll("\\[5178\\]","\""); 

另外,您可以使用

text = text.replaceAll(Pattern.quote("[5178]"), "\""); 
+0

謝謝!這工作。我認爲'['和']'有些問題,但是當我只放了一個'\\'時,它給了我一個錯誤。 – Pavle37