+1 补充下代码: Private Sub Form_Load() Dim s As String, TmpI As Long s = "<li><span class=""l"">节约了:</span><span class=""r"" id=""saveprice""><strong>¥0.00</strong></span></li>" TmpI = InStr(s, "节约了") TmpI = InStr(TmpI + 3, s, "¥") s = Mid(s, TmpI + 1, InStr(TmpI + 1, s, "<") - TmpI - 1) Me.Caption = s End Sub
规则简单的推荐用vb字符串处理,提供个另外的方法: '此代码由“正则测试工具 v1.1.33”自动生成,请直接调用TestReg过程 Private Sub TestReg() Dim strData As String Dim reg As Object Dim matchs As Object, match As Object strData = "<li><span class=""l"">节约了:</span><span class=""r"" id=""saveprice""><strong>¥0.00</strong></span>< /li>" Set reg = CreateObject("vbscript.regExp") reg.IgnoreCase = True reg.Pattern = "id=""saveprice""><strong>(.+?)</strong>" Set matchs = reg.Execute(strData) For Each match In matchs Debug.Print match.SubMatches(0) Next End Sub 由于可能多处有¥,所以需要带上id="saveprice"来判断,这样应该就唯一了。
简化下: Private Sub Form_Load() Dim reg As Object Dim matchs As Object Set reg = CreateObject("vbscript.regExp") reg.IgnoreCase = True reg.Pattern = "id=""saveprice""><strong>(.+?)</strong>" Set matchs = reg.Execute("<li><span class=""l"">节约了:</span><span class=""r"" id=""saveprice""><strong>¥0.00</strong></span>< /li>") If matchs.Count > 0 Then MsgBox matchs(0).SubMatches(0) End Sub
补充下代码:
Private Sub Form_Load()
Dim s As String, TmpI As Long
s = "<li><span class=""l"">节约了:</span><span class=""r"" id=""saveprice""><strong>¥0.00</strong></span></li>"
TmpI = InStr(s, "节约了")
TmpI = InStr(TmpI + 3, s, "¥")
s = Mid(s, TmpI + 1, InStr(TmpI + 1, s, "<") - TmpI - 1)
Me.Caption = s
End Sub
'此代码由“正则测试工具 v1.1.33”自动生成,请直接调用TestReg过程
Private Sub TestReg()
Dim strData As String
Dim reg As Object
Dim matchs As Object, match As Object strData = "<li><span class=""l"">节约了:</span><span class=""r"" id=""saveprice""><strong>¥0.00</strong></span>< /li>" Set reg = CreateObject("vbscript.regExp")
reg.IgnoreCase = True
reg.Pattern = "id=""saveprice""><strong>(.+?)</strong>"
Set matchs = reg.Execute(strData)
For Each match In matchs
Debug.Print match.SubMatches(0)
Next
End Sub
由于可能多处有¥,所以需要带上id="saveprice"来判断,这样应该就唯一了。
Private Sub Form_Load()
Dim reg As Object
Dim matchs As Object
Set reg = CreateObject("vbscript.regExp")
reg.IgnoreCase = True
reg.Pattern = "id=""saveprice""><strong>(.+?)</strong>"
Set matchs = reg.Execute("<li><span class=""l"">节约了:</span><span class=""r"" id=""saveprice""><strong>¥0.00</strong></span>< /li>")
If matchs.Count > 0 Then MsgBox matchs(0).SubMatches(0)
End Sub