我循环浏览了大量的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/", "");
如果有人可以提供任何建议,我们将不胜感激!
答案 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));
}
}
}