如何獲取正則表達式中第一個匹配結果的位置?見下文。Excel VBA正則表達式匹配位置
Function MYMATCH(strValue As String, strPattern As String, Optional blnCase As Boolean = True, Optional blnBoolean = True) As String
Dim objRegEx As Object
Dim strPosition As Integer
' Create regular expression.
Set objRegEx = CreateObject("VBScript.RegExp")
objRegEx.Pattern = strPattern
objRegEx.IgnoreCase = blnCase
' Do the search match.
strPosition = objRegEx.Match(strValue)
MYMATCH = strPosition
End Function
其中之一,我不完全確定.Match
正在返回什麼(字符串,整數等)。我發現的一個解決方案說我應該創建一個Match
對象,然後從那裏抓取該位置,但與vb不同,vba不識別Match
對象。我也看到some code像下面,但我不一定要找的價值,僅僅是第一字符串配置:
If allMatches.count <> 0 Then
result = allMatches.Item(0).submatches.Item(0)
End If
有點忽略上述任何(可能的語法錯誤主要是由於我改變變量類型的權利和左),我怎麼輕鬆/簡單地完成這一點?
謝謝!
你是對的,我的錯(我忘了它有助於每個人的聲譽在這個網站上)......除此之外,我還是自己想出了......。 – Jonathan
但是,我會在8小時內發佈我的答案,以便爲遇到此問題的其他人提供幫助。 – Jonathan
爲什麼8個小時,而不是現在? – JimmyPena