【问题标题】:Java get specific part of HTMLJava 获取 HTML 的特定部分
【发布时间】:2014-05-10 21:56:48
【问题描述】:

我正在循环加载大量 HTML,我试图只提取我需要的部分。

我只需要从下面的 html 中获取“THISISTHEBITIWANT”。

<li class="aClass">
  <a href="example/THISISTHEBITIWANT">example</a>
</li>

<li class="aClass">
  <a href="example/THISISTHEBITIWANT">example2</a>
</li>

每次我只想获取“THISISTHEBITIWANT”,链接中的文字都会改变。 我已经查看了字符串替换 - 但由于我不知道每次都会是什么 'example' 或 'example2',所以我现在只能删除直到 'example/'。

这是我的 Java 代码:

html = inputLine.replace("<li class=\"aClass\"><a href=\"/example/", "");

如果有人可以提供任何建议,将不胜感激!

【问题讨论】:

标签: java html string replace


【解决方案1】:

虽然处理 HTML 的标准方法是使用 HTML 解析库,但正如两个 cmets 所建议的那样,如果您真的只对获得想要的内容感兴趣,使用正则表达式可能就足够了。

import java.util.regex.*;


public class Regular{
    public static void main(String[] args) {
        String original =  "<li class=\"aClass\">\n<a href=\"example/THISISTHEBITIWANT\">example2</a>\n</li>";
        Pattern mypattern = Pattern.compile("<li class=\"aClass\">\\s+<a href=\"example/([^\"]+)\"");
        Matcher matcher = mypattern.matcher(original);
        while (matcher.find()) {
            System.out.println(matcher.group(1));
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2012-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多