2015-01-13 89 views
0

例如,我有這個字符串,其內容爲"IRS150Sup2500Vup"。它也可能是"IRS250Sdown1250Vdown"如何查找字符和VBA中的數字之間的詞

在我之前的qn中,我問如何找到2個字符之間的數字。現在,我需要在第二個S之後找到這個詞。由於它出現在字符S和數字之間,我該怎麼做?

我的代碼如下所示:

Dim pos, pos1,pos2 strString As String 
pos = InStr(1, objFile.Name, "S") + 1 
pos1 = InStr(pos, objFile.Name, "S") 
pos2 = InStr(pos1, objFile.Name, ?) 

POS1返回第二個S的,我不知道該怎麼在放置指數?

回答

1

使用Regex

注意:您需要參考MS VBScripts正則表達式庫。

Dim r As VBScript_RegExp_55.RegExp 
Dim sPattern As String, myString As String 
Dim mc As VBScript_RegExp_55.MatchCollection, m As VBScript_RegExp_55.Match 

myString = "IRS150Sup2500Vup" 
sPattern = "\w?up+" 'searches for Sup, Vup, etc. 
Set r = New VBScript_RegExp_55.RegExp 
r.Pattern = sPattern 

Set mc = r.Execute(myString) 
For Each m In mc ' Iterate Matches collection. 
    MsgBox "word: '" & m.Value & "' founded at: " & m.FirstIndex & " length: " & m.Length 
Next 

如需進一步信息,請訪問:
How To Use Regular Expressions in Microsoft Visual Basic 6.0
Find and replace text by using regular expressions (Advanced)

+0

這是可以在2003的Excel? – lakesh

+0

@lakesh,是的。嘗試! –

+0

Maciej Los謝謝。 – lakesh