Java获得HTML的特定部分

时间:2014-03-31 14:02:22

标签: java html string replace

我循环浏览了大量的HTML,并且我试图提取我需要的部分。

我需要得到这样的理解。来自下面的HTML。

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

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

每一次我只想得到“这样的理解”。并且链接中的文本将会更改。 我已经看过字符串替换了 - 但是因为我不知道&#39;示例&#39;或者&#39; example2&#39;将是每一次,我只能删除,直到&#39;示例/&#39;此刻。

这是我的Java代码:

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

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

1 个答案:

答案 0 :(得分:0)

虽然处理HTML的标准方法是使用HTML解析库,正如两条评论所暗示的那样,如果你真的只想获得你想要的位,那么使用正则表达式就足够了。

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));
        }
    }
}