Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

java 从 html 标签中提取内容(非正则的方式)

Java 笔记 Java 笔记


通过 java 如何从类似 html 标签中,提取相应的内容,除了正则表达式的方式,还有哪些比较好的解决方法?

推荐方案

可以使用针对 Java 的 HTML 解析器 Jsoup,它可直接解析某个 URL 地址、HTML 文本内容,提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。

假设我要提取类似如下内容中,em 标签的内容,具体示例如下:

String str = "中国空间站:<em>天宫</em>核心舱<em>天和</em>发射,中国永久性空间站迈出第一步";

提取 em 标签之间的内容代码如下:

Document doc = Jsoup.parse(str);
if (doc != null) {
    //  提取多个
    List<String> eachText = doc.select("em").eachText();
    //  提取单个
    String text = doc.select("em").text();
}