有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在从标记的内联样式属性抓取数据时遇到麻烦

因此,我有两个带有内联样式的跨距:

<span style="...;width:8px;..."></span>
<span style="...;width:16px;..."></span>
<span style="...;width:13px;..."></span>
<span style="...;width:20px;..."></span>
<span style="...;width:0px;..."></span> //width=0px
<span style="...;width:5px;..."></span>
<span style="...;width:3px;..."></span>
<span style="...;width:90px;..."></span>
<span style="...;width:200px;..."></span>

我想提取“px”值并将其存储到数组中。当我们用width=0px命中一个span时,这表示该数组的结束。因此,上述内容如下所示:

array1 = [8, 16, 13, 20]

array2 = [5, 3, 90, 200]

我们可以使用整数数组的数组列表来存储数据

到目前为止,我所拥有的是非常基本的:Elements spanWidths= doc.select("span");

到目前为止,这产生了: "border:...;width:8px;..."

我相信我们用正则表达式来解决这个问题,但我不太习惯。有什么帮助吗


共 (1) 个答案

  1. # 1 楼答案

    正则表达式将是\bwidth\s*:\s*(\d+)px。然后从第一个捕获组中获取值。也就是说,对结果匹配调用.group(1)