Non obvious uses for the LIKE operator

Non obvious uses for the LIKE operator

LIKE is probably the VB operator is most underutilized if compared to its potential. The most immediate use for this operator is to check that a string begins or ends with a given pattern. For example, it is simple to check that a Product ID is made up by a alphabetic character followed by three digits:

If ProductID Like "[A-Za-z][0-9][0-9][0-9]" Then Print "OK"' this is equivalment, because "#" stands for a digitIf ProductID Like "[A-Za-z]###" Then Print "OK"

But there are other cases when LIKE can be very useful. For example, you can check that a string contains only alphabetical characters using by transforming the condition into “check that the string doesn’t contain any non-alphabetical character”, as follows:

If Not ProductID Like "*[!A-Z]*" Then Print "OK"

Similarly, you can check that a string contains only digits with:

If Not ProductID Like "*[!0-9]*" Then Print "OK"

The following statement checks that a string doesn’t contain any symbol (which means it contains only alpha-numeric characters):

If Not ProductID Like "*[!A-Za-z0-9]*" Then Print "OK"

The following statement checks that a string follows the rules for a valid VB variable name, that is is an alphabetic char followed by an alphanumeric character:

' VarName contains the string to testIf VarName like "[A-Za-z]*" And Not Mid$(VarName, 2) Like "*[!A-Z_a-z0-9]*" _    Then Print "OK"

The following statement checks that a string contains at least two spaces (consecutive or not):

If TestString Like "* * *" Then Print "OK"

while the following test ensures that the two spaces are not consecutive:

If TestString Like "* ?* *" Then Print "OK"

Checking a signed integer is more complicated, because you must account for the leading sign and must provide the correct number of “#” symbols:

' NumValue contains the string to testIf NumValue Like "#" Or (Len(NumValue) > 1 And NumValue Like "[-+0-9]" & _    String$(Len(NumValue) - 1, "#")) Then Print "OK" 

Finally, the following line checks whether NumValue contains a signed decimal value. In this case we must ensure that there is an (optional) leading sign, that there is only one (optional) decimal separator, and all the other characters are digits:

' NumValue contains the string to testIf NumValue Like "#" Or (Len(NumValue) > 1 And Left$(NumValue, _    1) Like "[-+.0-9]" And Not Mid$(NumValue, 2) Like "*[!.0-9]*" And Not _    NumValue Like "*.*.*" ) Then Print "OK" 

Share the Post:
XDR solutions

The Benefits of Using XDR Solutions

Cybercriminals constantly adapt their strategies, developing newer, more powerful, and intelligent ways to attack your network. Since security professionals must innovate as well, more conventional endpoint detection solutions have evolved

AI is revolutionizing fraud detection

How AI is Revolutionizing Fraud Detection

Artificial intelligence – commonly known as AI – means a form of technology with multiple uses. As a result, it has become extremely valuable to a number of businesses across

AI innovation

Companies Leading AI Innovation in 2023

Artificial intelligence (AI) has been transforming industries and revolutionizing business operations. AI’s potential to enhance efficiency and productivity has become crucial to many businesses. As we move into 2023, several

data fivetran pricing

Fivetran Pricing Explained

One of the biggest trends of the 21st century is the massive surge in analytics. Analytics is the process of utilizing data to drive future decision-making. With so much of

kubernetes logging

Kubernetes Logging: What You Need to Know

Kubernetes from Google is one of the most popular open-source and free container management solutions made to make managing and deploying applications easier. It has a solid architecture that makes

ransomware cyber attack

Why Is Ransomware Such a Major Threat?

One of the most significant cyber threats faced by modern organizations is a ransomware attack. Ransomware attacks have grown in both sophistication and frequency over the past few years, forcing

data dictionary

Tools You Need to Make a Data Dictionary

Data dictionaries are crucial for organizations of all sizes that deal with large amounts of data. they are centralized repositories of all the data in organizations, including metadata such as