VB6使用RegExp的Replace
前言
這次面對問題是使用vb6,居然沒有RegExp,這時讓我無比錯愕,沒辦法只好去拜見google大神 ,發現居然有如此好方法,在vb裡使用javascript物件,這真是讓我想都沒想到,以下是使用範例
範例程式
Dim objScrCtl As Object
Set objScrCtl = CreateObject("MSScriptControl.ScriptControl")
objScrCtl.Language = "JavaScript"
Unescape = objScrCtl.Eval("unescape('" & pstrInput & "');")
Set objScrCtl = Nothing
End Function
這是我搜尋到範例,解unicode編碼,但這雖然不是我想要但已幫我解決一半以上的困擾了。
修改後使用RegExp
'argStr=來源字串
'sPattern=RegExp搜尋條件
'sReplace=替代文字
Dim objScrCtl As Object
Dim str As String
Set objScrCtl = CreateObject("MSScriptControl.ScriptControl")
objScrCtl.Language = "JavaScript"
str = objScrCtl.Eval("""" & argStr & """.replace(" & sPattern & ",""" & sReplace & """)")
ReplaceOfRegExp = str
Set objScrCtl = Nothing
End Function
結語
vb6這本因該被遺忘產物,但因為從以前到現在這專案一直是用vb6撰寫,所以不得已只好乖乖的,有跟我一樣的人,希望對你們有幫助。
Louis的標籤: VB6.0