Java获取HTML的特定部分

Java获取HTML的特定部分,java,html,string,replace,Java,Html,String,Replace,我在一堆HTML中循环,试图提取我需要的部分 我只需要从下面的html中获取“THISISTHEBITIWANT” <li class="aClass"> <a href="example/THISISTHEBITIWANT">example</a> </li> <li class="aClass"> <a href="example/THISISTHEBITIWANT">example2</a> &l

我在一堆HTML中循环,试图提取我需要的部分

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

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

<li class="aClass">
  <a href="example/THISISTHEBITIWANT">example2</a>
</li>
  • 每次我只想得到“THISISTHEBITIWANT”,链接中的文本就会改变。 我已经看过了字符串替换,但由于我不知道每次都是什么“示例”或“示例2”,我现在只能删除到“示例/”

    这是我的Java代码:

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

    html=inputLine.replace(“
  • ”)虽然处理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));
            }
        }
    }
    
    import java.util.regex.*;
    公共课常规{
    公共静态void main(字符串[]args){
    字符串original=“
  • \n\n
  • ”;
    Pattern mypattern=Pattern.compile(“
  • ”\\s+使用HTML解析器,如JSOUP查看Java HTML解析器的比较-