2012-02-20 75 views
0

我當前的代碼:我的代碼不會正確地替換html字符串?

a= a.replace("'", "'"); 
a = android.text.Html.fromHtml(a).toString(); 

的問題是它的輸出還是這個:

Magician's 

雖然它取代了大部分的HTML它不會取代它的全部。我怎樣才能解決這個問題?

回答

0

replaceAll需要一個正則表達式作爲參數,嘗試replace

+0

該方法replace的簽名是'(char,char)',所以你不能只用它來代替'replaceAll'。 – laz 2012-02-20 16:15:44

+0

還有一個'替換(CharSequence,CharSequence)''String'實現'CharSequence'接口 – 2012-02-20 16:36:23

+0

感謝回覆,我以前沒有遇到過那個,很高興知道。 – laz 2012-02-20 16:47:10

0

//試試這個

String parsingStr="&#039"; 

a= a.replaceAll(getXMLString(parsingStr), "'"); //convert your special char here 
a = android.text.Html.fromHtml(a).toString(); 

public static String getXMLString(String str) 
    { 
     if(str.contains("&")) 
     { 
      str = str.replace("&", "&"); 
     }else if (str.contains("<")) 
     { 
      str = str.replace("<", "&lt;"); 
     }else if (str.contains(">")) 
     { 
      str = str.replace(">", "&gt;"); 
     }else if (str.contains("'")) 
     { 
      str = str.replace("'", "&apos;"); 
     }else if (str.contains("\"")) 
     { 
      str = str.replace("\"", "&quot;"); 
     } 

     return str; 
    } 
+0

原始海報正在尋找與此代碼相反的內容,並用字符替換實體。 – laz 2012-02-20 16:16:55

1

我只是嘗試這樣做:

System.out.println("it&#039;s working".replaceAll("&#039;", "'")); 

,並打印出這一點:

it's working 
+0

+1你是對的 – 2012-02-20 16:23:37