VB6使用RegExp的Replace

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的標籤: