Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

阿香 發問時間: 電腦與網際網路程式設計 · 1 0 年前

VB2005的問題

我有一篇原始碼....

請問一下我該如何從裡面得到我想要的是數據呢?????

</tr><tr class="AD1">

<td>05:20 PM</td><td>901</td><td><BR />A隊<EM>J. Francis</EM></td><td>+1.5&nbsp;-115</td><td>+183</td><td>高分 8.5&nbsp;-109</td><td align="center" valign="middle" rowspan="2"><A HREF="/ContestGame/110445016/prop/Lines.aspx">Props</A><BR /></td>

</tr><tr class="AD1">

<td>05:20 PM</td><td>902</td><td>B隊<BR><EM>J. Beckett</EM></td><td>-1.5&nbsp;+105</td><td>-196</td><td>低分 8.5&nbsp;-101</td>

</tr>

我該如何得到A隊的1.5 和-115和+183

已更新項目:

不好意思...可不可以幫我解釋一下....

我不太懂你的邏輯ㄝ

2 個已更新項目:

While InStr(longstr, " ") <> 0

MsgBox(strcut(longstr, " ", " "))

請問一下While InStr(longstr, " ") <> 0

MsgBox(strcut(longstr, " ", " "))

這2句是什麼意思呢???

1 個解答

評分
  • 世賢
    Lv 7
    1 0 年前
    最佳解答

    以下是使用 strcut 副函數來將 <td> 與 </td> 之間的值取出來,其他的部份留待您自行研究運用囉!

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim longstr As String = "<tr class=""AD1""><td>05:20 PM</td><td>901</td><td><BR />A隊<EM>J. Francis</EM></td><td>+1.5&nbsp;-115</td><td>+183</td><td>高分 8.5&nbsp;-109</td><td align=""center"" valign=""middle"" rowspan=""2""><A HREF=""/ContestGame/110445016/prop/Lines.aspx"">Props</A><BR /></td></tr><tr class=""AD1""><td>05:20 PM</td><td>902</td><td>B隊<BR><EM>J. Beckett</EM></td><td>-1.5&nbsp;+105</td><td>-196</td><td>低分 8.5&nbsp;-101</td></tr>"

    '雙 雙引號 可不必理會,只為了將資料與您所提供的資料相同

    While InStr(longstr, "</td>") <> 0

    MsgBox(strcut(longstr, "<td>", "</td>"))

    End While

    End Sub

    Function strcut(ByRef allstr As String, ByVal str1 As String, ByVal str2 As String) As String

    Dim s As String

    s = Strings.Mid(allstr, InStr(allstr, str1) + Len(str1))

    s = Strings.Left(s, InStr(s, str2) - 1)

    allstr = Strings.Mid(allstr, InStr(allstr, str2) + Len(str2))

    Return s

    End Function

    2007-10-24 11:20:32 補充:

    While InStr(longstr, " ") <> 0

     代表字串內若找不到 的字串,就無需進入 While 內部。

    MsgBox(strcut(longstr, " ", " "))

     為顯示 與 之間的字串,並自動將 longstr 內的字串從第一個字元到第一個出現 的字串刪除。

    2007-10-24 11:21:39 補充:

    While InStr(longstr, "</td>") <> 0

     代表字串內若找不到 </td> 的字串,就無需進入 While 內部。

    MsgBox(strcut(longstr, "<td>", "</td>"))

     為顯示 <td> 與 </td> 之間的字串,並自動將 longstr 內的字串從第一個字元到第一個出現 </td> 的字串刪除。

還有問題?馬上發問,尋求解答。