如何在Excel中操纵string – VB?

我想知道是否有人可以告诉我如何从Excel中的以下string推断“http://www.nbc.com/xyz”和“我喜欢这个节目” – VB。

谢谢

<a href="http://www.nbc.com/xyz" >I love this show</a><IMG border=0 width=1 height=1 src="http://ad.linksynergy.com/fs-bin/show?id=Loe5O5QVFig&bids=261463.100016851&type=3&subid=0" > 

 Sub Tester() '### add a reference to "Microsoft HTML Object Library" ### Dim odoc As New MSHTML.HTMLDocument Dim el As Object Dim txt As String txt = "<a href=""http://www.nbc.com/xyz"" >I love this show</a>" & _ "<IMG border=0 width=1 height=1 " & _ "src=""http://ad.linksynergy.com/fs-bin/show?" & _ "id=Loe5O5QVFig&bids=261463.100016851&type=3&subid=0"" >" odoc.body.innerHTML = txt Set el = odoc.getElementsByTagName("a")(0) Debug.Print el.innerText Debug.Print el.href End Sub 

一旦使用正则expression式。 另一种方法是使用拆分来分割各种分隔符的string

 Option Explicit Sub splitMethod() Dim Str As String Str = Sheet1.Range("A1").Value Debug.Print Split(Str, """")(1) Debug.Print Split(Split(Str, ">")(1), "</a")(0) End Sub Sub RegexMethod() Dim Str As String Dim oRegex As Object Dim regexArr As Object Dim rItem As Object 'Assumes Sheet1.Range("A1").Value holds example string Str = Sheet1.Range("A1").Value Set oRegex = CreateObject("vbscript.regexp") With oRegex .Global = True .Pattern = "(href=""|>)(.+?)(""|</a>)" Set regexArr = .Execute(Str) 'No lookbehind so replace unwanted chars .Pattern = "(href=""|>|""|</a>)" For Each rItem In regexArr Debug.Print .Replace(rItem, vbNullString) Next rItem End With End Sub 'Output: 'http://www.nbc.com/xyz 'I love this show 

这匹配string开始时匹配href="> href="或者在string结尾匹配(.+?)之间的任何字符(\ n换行符除外(.+?)