我有以下字符串,希望从中提取部分:

<FONT COLOR="GREEN">201 KAR 2:340.</FONT>


在这种特殊情况下,我希望提取数字201,2和340,稍后将使用它们连接起来形成另一个字符串:

http://www.lrc.state.ky.us/kar/201/002/340reg.htm

我有一个解决方案,但是它不容易阅读,而且看起来很笨拙。它涉及使用中函数。这里是:

intTitle = CInt(Mid(strFontTag,
                    InStr(strFontTag, ">") + 1,
                    (InStr(strFontTag, "KAR") - InStr(strFontTag, ">"))
                           - 3))


我想知道也许有更好的方法来完成这项任务。我意识到我可以使用一些描述性的变量名,例如intPosOfEndOfOpeningFontTag来描述第一个InStr函数的功能,但对我来说仍然很笨拙。

我应该使用某种拆分功能或正则表达式,还是一些我还没有遇到过的更优雅的方式?多年来,我一直以这种方式操纵琴弦,但我觉得必须有更好的方法。谢谢。

最佳答案

<FONT[^>]*>[^\d]*(\d+)[^\d]*(\d+):(\d+)[^\d]*</FONT>

07-28 09:16