有没有从Java字符串中删除HTML的好方法?一个简单的正则表达式
replaceAll(";\\\<;*?>;,";)
将起作用,但像&;amp将无法正确转换,两个尖括号之间的非HTML将被删除(即正则表达式中的*?将消失)
使用HTML解析器而不是正则表达式。这对于Jsoup
公共静态字符串html2text(字符串html){
返回Jsoup.parse(html.text();
}
Jsoup也支持根据可自定义的白名单删除HTML标记,如果您只想允许,这非常有用,例如<;b>,<;i>和<;u>