2012-02-20 11 views
0

私の現在のコード:それはそれのすべてを置き換えるものではありませんHTMLのほとんどを交換しているがマイコードはhtml文字列を正しく置き換えませんか?

Magician's 

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

問題は、そのはまだこれを出力しています。どうすればこの問題を解決できますか?

答えて

0

replaceAllは、引数として正規表現をとり、この

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

メソッド置き換えのシグネチャは '(char、char)'なので、単に 'replaceAll'の代わりに使うことはできません。 – laz

+0

また、 'Replace(CharSequence、CharSequence)' '文字列'が 'CharSequence'インターフェースを実装しています –

+0

応答してくれてありがとう、私は以前知っていたことはありませんでした。 – laz

0

を試してみてください、私はちょうどこの試みた:

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

をし、それがこのプリントアウト:

it's working 
+0

元のポスターは、このコードの反対を行い、エンティティを文字で置き換えることを検討しています。 – laz

1

を試してみてください// replace

+0

+1あなたは正しいです –

関連する問題