0

我正在浏览不同的网页以使用 jsoup 进行处理,并且我要访问的页面中的部分以这种方式格式化:

<section class="featured_name_tabs options9">

因此,通常,要做到这一点,我只需执行以下操作:

document.select("section.featured_name_tabs.options9")

但是,我注意到类属性末尾的数字实际上发生了变化,所以我现在需要的是(末尾有一个星号):

document.select("section.featured_name_tabs.options*")

^ 但显然这不起作用。既然我发现字符串的结尾并不总是相同的,我该如何选择该元素?谢谢!

4

1 回答 1

0

您不能直接使用选择器语法来执行此操作。您可以通过查看选择器文档(它支持属性和文本但不支持类的前缀/后缀/中缀/正则表达式匹配),并注意属性Evaluator内部子类包含正则表达式的地方,该类Evaluator不包含正则表达式。

您必须按类名遍历较小选择过滤的结果:

for (Element e : document.select("section.featured_name_tabs"))
    for (String s : e.className().split(" ")) //multiple classes space-separated
        if (s.startsWith("options"))
            doSomething(e);
于 2014-05-24T18:40:37.013 回答