使用java从字符串中删除html标记

Mav*_*ick 8 html java string

我正在编写一个程序来读取和分离垃圾邮件和电子邮件.现在我正在使用bufferedreader类java来阅读它.我可以删除任何不需要的字符,如'('或'.'等,使用replaceAll()方法.我也想删除html标签,包括&.如何实现这个!?

谢谢

编辑:感谢您的回复,但我已经有了一个正则表达式,如何结合我的需求并加入一个.继续我正在使用的正则表达式.

lines.replaceAll("[^a-zA-Z]", " ")
Run Code Online (Sandbox Code Playgroud)

注意:我从txt文件中获取行.还有其他任何建议吗?!

van*_*eto 35

也许这会奏效:

String noHTMLString = htmlString.replaceAll("\\<.*?>","");
Run Code Online (Sandbox Code Playgroud)

它使用正则表达式删除字符串中的所有HTML标记.

更具体地说,它从字符串中删除所有类似XML的标记.因此即使它不是有效的HTML标记,也会删除<1234>.但它对大多数意图和目的都有好处.

希望这可以帮助.

  • 注意正则表达式,这不是一个完整的解决方案.它还替换了不需要的字符 - >使用此表达式作为字符串,如"a <b only c> d"时会产生"a d". (4认同)

Pro*_*Rev 9

JSOUP

public static String html2text(String html) {
    return Jsoup.parse(html).text();
}
Run Code Online (Sandbox Code Playgroud)