Java 从HTML页面中的列表中提取地址和名称

Java 从HTML页面中的列表中提取地址和名称,java,trim,Java,Trim,好的,我已经将一个页面HTML打印成字符串,我想从中获取一个特定的字符串。问题是每次我加载页面时都不一样。例如: 可能有1到10个列表。 我感兴趣的就是抓取地址和姓名 我确实试过: public static String removeNonDigits(final String str) { if (str == null || str.length() == 0) { return ""; } return str.replace

好的,我已经将一个页面HTML打印成字符串,我想从中获取一个特定的字符串。问题是每次我加载页面时都不一样。例如:

可能有1到10个列表。
我感兴趣的就是抓取地址和姓名

我确实试过:

 public static String removeNonDigits(final String str) {
      if (str == null || str.length() == 0) {
           return "";
      }
       return str.replaceAll("\\D+", "");
 }

但是没有用。

可能需要调整一点我不知道空白的确切位置:

Pattern pattern = Pattern.compile("\\n *(?:[1-9]|10)\\. +(.+?) *\\n *(.+?) *\\n");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
  System.out.println("name: " + matcher.group(1));
  System.out.println("address: " + matcher.group(2));
  System.out.println(matcher.group()); // the whole match
}

可能需要调整一点我不知道空白的确切位置:

Pattern pattern = Pattern.compile("\\n *(?:[1-9]|10)\\. +(.+?) *\\n *(.+?) *\\n");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
  System.out.println("name: " + matcher.group(1));
  System.out.println("address: " + matcher.group(2));
  System.out.println(matcher.group()); // the whole match
}

您是否尝试过从HTML中提取数据?现在我们已经做到了,不需要
str.length()==0
。通过
replaceAll
方法的外观,您似乎想要删除所有数字。这就是你想做的吗?另外,
+
表示“一个或多个”;如果您想要“0或更多”,请使用
*
。不过,我不知道你想做什么;您没有给出一个很好的示例。要继续使用@user3707125,请后退一步,不要将HTML打印为字符串,而是在DOM中查找
  • 或构成编号列表的任何内容。例如,欧洲电话号码通常是
    分隔的,这可能会混淆正则表达式搜索。编辑:更改标题以表示基本要求您是否尝试从HTML中提取数据?现在不需要
    str.length()==0
    。通过
    replaceAll
    方法的外观,您似乎想要删除所有数字。这就是你想做的吗?另外,
    +
    表示“一个或多个”;如果您想要“0或更多”,请使用
    *
    。不过,我不知道你想做什么;您没有给出一个很好的示例。要继续使用@user3707125,请后退一步,不要将HTML打印为字符串,而是在DOM中查找
  • 或构成编号列表的任何内容。例如,欧洲电话号码通常是
    分隔的,这可能会混淆正则表达式搜索。编辑:更改标题以表示基本要求您是否尝试从HTML中提取数据?现在不需要
    str.length()==0
    。通过
    replaceAll
    方法的外观,您似乎想要删除所有数字。这就是你想做的吗?另外,
    +
    表示“一个或多个”;如果您想要“0或更多”,请使用
    *
    。不过,我不知道你想做什么;您没有给出一个很好的示例。要继续使用@user3707125,请后退一步,不要将HTML打印为字符串,而是在DOM中查找
  • 或构成编号列表的任何内容。例如,欧洲电话号码通常是
    分隔的,这可能会混淆正则表达式搜索。编辑:更改标题以表示基本要求