Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Web
Expertise: Intermediate
Oct 4, 2016

Like Operator Workaround for VBScript

VBScript lacks a Like operator. A common approach is to translate the pattern strings to use VBScript's RegExp object, but you could use the IsLike function below instead:

Public Function IsLike(ByVal Input, ByVal Pattern)
    If Input = "" Xor Pattern = "" Then
        IsLike = False
        Exit Function
    End If

    If Input = "" And Pattern = "" Then
        IsLike = True
        Exit Function
    End If

    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "\+(?=\x5B*(?!\x5D))"
        Pattern = .Replace(Pattern, "\+")
        .Pattern = "\.(?=\x5B*(?!\x5D))"
        Pattern = .Replace(Pattern, "\.")
        .Pattern = "\{(?=\x5B*(?!\x5D))"
        Pattern = .Replace(Pattern, "\{")
        .Pattern = "\}(?=\x5B*(?!\x5D))"
        Pattern = .Replace(Pattern, "\}")
        .Pattern = "\((?=\x5B*(?!\x5D))"
        Pattern = .Replace(Pattern, "\(")
        .Pattern = "\)(?=\x5B*(?!\x5D))"
        Pattern = .Replace(Pattern, "\)")
        .Pattern = "\|(?=\x5B*(?!\x5D))"
        Pattern = .Replace(Pattern, "\|")
        .Pattern = "\?(?=\x5B*(?!\x5D))"
        Pattern = .Replace(Pattern, ".")
        .Pattern = "\*(?=\x5B*(?!\x5D))"
        Pattern = .Replace(Pattern, ".*")
        .Pattern = "#(?=\x5B*(?!\x5D))"
        Pattern = .Replace(Pattern, "\d")
        .Pattern = "\[!(?=\x5B*(?!\x5D))"
        Pattern = .Replace(Pattern, "[^")
        Pattern = "^" & Pattern & "$"
        .Pattern = Pattern
        IsLike = .Test(Input)
    End With
End Function
Oracy
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date