一尘不染

Java-从字符串中删除HTML标签

java

是否有从Java字符串中删除HTML的好方法?一个简单的正则表达式

 replaceAll("\\<.*?>","") 

会起作用,但是&amp;不会正确转换,并且两个尖括号之间的非HTML也会被删除(即.*?,正则表达式中的将会消失)。


阅读 518

收藏
2020-02-25

共2个答案

一尘不染

使用HTML解析器代替正则表达式。对于Jsoup来说,这简直太简单了。

public static String html2text(String html) {
    return Jsoup.parse(html).text();
}

Jsoup还支持对可定制的白名单,如果你希望只允许例如这是非常有用的去除HTML标签<b><i>和<u>

2020-02-25
一尘不染

如果你是为Android编写的,则可以这样做…

android.text.Html.fromHtml(instruction).toString()
2020-02-25