字符串與正則表達式拆分我不得不分割在VBScript中的字符串下面令牌
如何在VBScript
_[any digit].archiveRT
對於實例_1.archiveRT
Plase告訴我,我該怎麼在vbscript中分割如此
字符串與正則表達式拆分我不得不分割在VBScript中的字符串下面令牌
如何在VBScript
_[any digit].archiveRT
對於實例_1.archiveRT
Plase告訴我,我該怎麼在vbscript中分割如此
雖然你肯定可以實現你自己的SplitOnRe()函數(例如在Perl的分割上建模),但用正則表達式替換正則表達式匹配的髒/風險技巧e /不可能在數據標記和Split()這可能是(幾乎)相同的增益更少的努力。在代碼:
>> Set r = New RegExp
>> r.Global = True
>> r.Pattern = "\d+"
>> For Each s In Array("x12y", "ab0cd", "a99999999b")
>> WScript.Echo Join(Split(r.Replace(s,"<>"), "<>"), "|")
>> Next
>>
x|y
ab|cd
a|b
>>
(這個想法是(C)dm_4ever;看到他contribution對分流/正則表達式的討論)
你說你有這最後一個令牌之前獲取字符串?那麼你有這樣的字符串嗎?
foofoofoo_1.archiveRT
在這種情況下,如果你的字符串的第一部分是保證不包含下劃線,你可以只劈在_
。
s = Split("foofoofoo_1.archiveRT", "_")
' s(0) is now "foofoofoo"
如果有可能在你的字符串下劃線(之前你的「令牌」),你可以只剪掉最後Len("_1.archiveRT")
字符。
s = Left(s, Len(s) - Len("_1.archiveRT"))
' or...
s = Left(s, Len(s) - 12)
如果模式是相似的,那麼你可以簡單地使用'Split'拆就點 –
字符串其實我這最後一個令牌之前獲取的字符串。 –