一尘不染

从字符串中删除HTML标签

html

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

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

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


阅读 643

收藏
2020-05-10

共1个答案

一尘不染

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

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

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

2020-05-10