Kotlin:计算 <tr> Jsoup 中的元素

Kotlin: count the elements inside a <tr> Jsoup

我在 HTML 中有这个 table:

         <table class="table">
         <tr>
            <td class="alignLeft">XXX</td>
            <td align="right">XXX</td>
            <td align="right">XXX</td>
         </tr>
         <tr>
            <td class="alignLeft">XXX</td>
            <td align="right">XXX</td>
            <td align="right">XXX</td>
         </tr>
         <tr>
            <td colspan='2' align="right">UNTIL HERE</td>
            <td align="right" >XXX</td>
         </tr>
<td colspan='3' align='center' valign='middle'>
    <table width='90%' border='0' cellspacing="0" cellpadding="0">
        <form name='something'>
        <tr>
        <td align='center'>
            <select  name="somethingElse" size="1" class="select" onChange="document.getElementById('script').innerHTML=this.value;">
                <option label="" value="000" SELECTED></option>
                <option value="2019">2019</option>

只有当 tr 有三个 td 时,我才需要获取 td 值 这就是我在科特林中所拥有的:

 doc = connect("https://www.somepage.com").get()
        val table = doc.select("table.table")[1]
        val rows = table.select("tr")
        val tds = rows.select("td")
        for (td in tds) {
             println(td.text())
        }

当我得到:

时,我该如何打破 for
<td colspan='2' align="right">UNTIL HERE</td>
val source = "<td colspan='2' align="right">UNTIL HERE</td>"
val text = source.substring(
     source.indexOf(">"),
     source.indexOf("</")
)

没用过jsoup库,但据我了解,你需要的是:

doc = connect("https://www.somepage.com").get()
val table = doc.select("table.table")[1]
// this gives you all the rows, so you iterate over them
val rows = table.select("tr")
for (row : rows) {
    val cols = row.select("td")
    if (cols.length === 3) {
        continue;
    }
    // here the row doesn't have 3 columns
}