这个问题紧随其后,刚刚在这里
解决了
现在我想做一个不同的计数,更难弄清楚。
在我解析的 HTML 表中,每一行都包含两个非常相似的结果,'td'(数字 4 和 5):
<tr>
(1) <td class="tdClass" ....</td>
(2) <td class="tdClass" ....</td>
(3) <td class="tdClass" ....</td>
(4) <td class="tdClass" align="center" nowrap="">No</td>
(5) <td class="tdClass" align="center" nowrap="">No</td>
</tr>
第一个'td'中的字符串可以是“No”,第二个'td'中的字符串可以是“Yes”,反之亦然,两者都是“Yes”或两者都是“No”。
我想计算 5 种中有多少 'td' 包含“否”
到现在,我通过循环计算其他 'td'-s(请参阅顶部链接的上一个问题的选定答案)并仅选择匹配目标字符串的。
可以这样做是因为这些目标字符串在每一行中只出现一次。
在这种情况下,相反,目标字符串("No")对于每一行不是唯一的,因为如上例所示,在同一个 'tr' 中可能存在两次(在 'td' 4 和 5 中)。
那样的话,我真的不知道如何只为每一行选择第二个 (5) 'td',它与目标字符串 "No" 匹配,并排除 (4) 'td'
显然,这两个 'td'-s 在不同的列标题下,但这对区分它们没有用处。
我想到的唯一解决方案是从左边数“td”位置,并只选择第 5 个,但我不知道这是否可能。