我有一个包含HTML代码的字符串。
<TR ALIGN=RIGHT VALIGN=TOP>
<TD ALIGN=CENTER>TN</TD>
<TD></TD>
<TD ALIGN=CENTER>W</TD>
<TD ALIGN=LEFT>I-40</TD>
<TD>1.7</TD>
<TD>0:01</TD>
<TD></TD>
<TD ALIGN=LEFT>+I 40 I 440, TN</TD>
<TD>560.8</TD>
<TD>8:57</TD>
<TD>1198.3</TD>
<TD>19:36</TD>
</TR>
<TR ALIGN=RIGHT VALIGN=TOP>
<TD ALIGN=CENTER>TN</TD>
<TD></TD>
<TD ALIGN=CENTER>E</TD>
<TD ALIGN=LEFT>I-440</TD>
<TD>4.7</TD>
<TD>0:04</TD>
<TD></TD>
<TD ALIGN=LEFT>+I 65 I 440, TN</TD>
<TD>565.5</TD>
<TD>9:01</TD>
<TD>1203.0</TD>
<TD>19:40</TD>
</TR>
我想循环并保留每个的第4行和第5行。
<TD ALIGN=CENTER>W</TD>
<TD ALIGN=LEFT>I-40</TD>
我希望将它合并为一个
<TD>W I-40</TD>
感谢您的帮助
答案 0 :(得分:0)
有不同的方法可以做到这一点。例如,如果html具有固定的结构,则可以read it line by line并将所需的行计为
Dim table: table = false
Dim td: td = 1
Dim s1: s1 = ""
Dim s2: s2 = ""
...
Do Until fs.AtEndOfStream
lineData = fs.ReadLine
if instr(lcase(lineData), "<table")>0 then
table = true
else
if table and instr(lcase(lineData), "<td")>0 then
td = td+1
if td = 4 then
s1 = replace(replace(lineData, "<TD ALIGN=CENTER>", ""), "</TD>", "")
lineData = ""
end if
if td = 5 then
s2 = replace(replace(lineData, "<TD ALIGN=LEFT>", ""), "</TD>", "")
lineData = "<TD>" & s1 & " " & s2 & "</TD>" & vbClLf
td = 1
end if
end if
end if
Response.Write server.htmlencode(lineData) & "<br>"
Loop