<TR><TD height=20 width=80>【商品名称】</td><td colspan=4> sony 随身听</TD></TR> 
<TR><TD height=20>【商品编号】</td><td colspan=4> 1382</TD></TR> 
<TR><TD height=20>【产 地】</td><td colspan=4> 马来西亚</TD></TR><TR><TD height=20>【颜 色】</td><td colspan=4> 黑色</TD></TR><tr><td valign=middle width=80>【商品价格】</td> 
<td valign=bottom align=center width=90>2089.00<br><img border=0 src=images/small/price2.gif><br> 
如何在上述字符串中提取“【商品名称】 sony 随身听”“【商品编号】1382”“【颜 色】黑色”“【商品价格】2089.00”等关键字段

解决方案 »

  1.   

    Function Newstr(str As String) As StringDim i As Integer
    Dim abc As Boolean
    Dim str1 As String
    abc = True
    For i = 1 To Len(str)
      Select Case Mid(str, i, 1)
      Case "<"
      abc = False
      Case ">"
      abc = True
      Case Else
      If abc Then str1 = str1 & Mid(str, i, 1)
      End Select
    Next
    Newstr = str1
    End Function试试这个,应该可以的
      

  2.   

    Dim s As String
    Dim i As Long
    Dim tmp
    s = "<TR> <TD height=20 width=80>【商品名称】 </td> <td colspan=4> sony 随身听 </TD> </TR> " _
        & "<TR> <TD height=20>【商品编号】 </td> <td colspan=4> 1382 </TD> </TR>" _
        & "<TR> <TD height=20>【产 地】 </td> <td colspan=4> 马来西亚 </TD> " _
        & "</TR> <TR> <TD height=20>【颜 色】 </td> <td colspan=4> 黑色 </TD> </TR> <tr>" _
        & "<td valign=middle width=80>【商品价格】 </td> " _
        & "<td valign=bottom align=center width=90>2089.00 <br> <img border=0 src=images/small/price2.gif> <br>"    tmp = Split(s, ">")
        For i = 0 To UBound(tmp)
            If Trim(tmp(i)) <> "" Then
                If Left(Trim(tmp(i)), 1) = "<" Then
                    tmp(i) = vbNullString
                Else
                    tmp(i) = Left(tmp(i), InStr(tmp(i), "<") - 1)
                End If
            End If
        Next    Debug.Print Join(tmp)
      

  3.   

    Private Sub Form_Load()
     Open "C:\22.txt" For Input As #1 '将字串放C:\22.txt里
     b = ""
     Do Until EOF(1)
     Line Input #1, nextline
    b = b & nextline
    Loop
    Close #1
    xx b, "【商品名称】"
    xx b, "sony 随身听"
    xx b, "【商品编号】"
    xx b, "1382"
    xx b, "【颜 色】"
    xx b, "黑色"
    xx b, "【商品价格】"
    xx b, "2089.00"
    End Sub
    Private Function xx(ByVal str1 As String, str2 As String)
    s = InStr(str1, str2)
    s1 = Mid(str1, s, Len(str2))
    List1.AddItem s1
    End Function
      

  4.   

     Function Newstr(ByVal str As String) As String
            Dim i As Integer
            Dim abc As Boolean
            Dim str1 As String = ""
            abc = True
            For i = 1 To Len(str)
                Select Case Mid(str, i, 1)
                    Case "<"
                        abc = False
                    Case ">"
                        abc = True
                    Case Else
                        If abc Then
                            str1 = str1 & Mid(str, i, 1)
                        End If
                End Select
            Next
            Newstr = str1
        End Function
    '经过试验1楼的可以实现