我有以下字符串,我希望从中提取部分:
<FONT COLOR="GREEN">201 KAR 2:340.</FONT>
在这种特殊情况下,我希望提取数字 201,2 和 340,稍后我将使用它们连接以形成另一个字符串:
http://www.lrc.state.ky.us/kar/201/002/340reg.htm
我有一个解决方案,但它不容易阅读,而且看起来很笨拙。它涉及使用 mid 功能。这里是:
intTitle = CInt(Mid(strFontTag,
InStr(strFontTag, ">") + 1,
(InStr(strFontTag, "KAR") - InStr(strFontTag, ">"))
- 3))
我想知道是否有更好的方法来完成这项任务。我意识到我可以创建一些描述性的变量名称,比如 intPosOfEndOfOpeningFontTag 来描述第一个 InStr 函数的作用,但我仍然觉得它很笨拙。
我应该使用某种拆分函数、正则表达式还是一些我还没有遇到过的更优雅的方式?多年来我一直以这种方式操纵字符串,我只是觉得必须有更好的方法。谢谢。
最佳答案
<FONT[^>]*>[^\d]*(\d+)[^\d]*(\d+):(\d+)[^\d]*</FONT>
关于regex - 漂亮的字符串操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11268064/