2012-02-20 72 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