LOTUSSCRIPT LANGUAGE
Syntax
stringExpr Like patternString
Elements
stringExpr
To match characters in a list, enclose the characters between square brackets with no spaces or other delimiters between characters (unless you want the space character to be part of the list). For example, [1, 2, 3, A, B, C] represents the characters 1, comma, space, 2, 3, A, B, and C (the redundant occurrences of the space and comma are ignored). But [123ABC] represents the characters 1, 2, 3, A, B, and C (with no space or comma character).
Matching characters in a range
To match characters in a range, separate the lower and upper bounds with a hyphen, as in [1-5]. Always specify the range in ascending sort order (A-Z rather than Z-A). Sort order is determined by the setting of Option Compare. When you specify multiple ranges, you donft have to separate them with anything: for example, [1-5A-C] contains the ranges 1-5 and uppercase A-C.
If binary comparison (Option Compare Binary) is in effect, LotusScript uses the international ANSI character collating sequence. This is the sequence of values Chr(0), Chr(1), Chr(2), .... It is the same on all LotusScript platforms. A range specified in ascending order will produce a valid pattern string. However, if Option Compare Case, NoCase, Pitch, or NoPitch is in effect, then the collating sequence order depends on the Lotus software that you are using. The order for alphanumeric characters will be the same as international ANSI, but using other characters to define a range may produce an invalid pattern string. If you define a range using nonalphanumeric characters, specify Option Compare Binary in your script to be certain of defining a valid pattern string.
Matching special characters
To match one of these characters, include it in a characters list:
To match one of these characters, place the character anywhere within your wildcard specification except in a characters list or range:
Return value
If stringExpr matches patternString, the result is TRUE; if not, the result is FALSE. If either stringExpr or patternString is NULL, the result is NULL.
Usage
By default, the comparison is case sensitive. You can modify case sensitivity with the Option Compare statement.
Language cross-reference
@Like function in formula language
@IsMember function in formula language
@Matches function in formula language
Examples
Example 1
This example prints the two-digit numbers from 1 to 100 that end in 3 and don't begin with 2.
For x = 1 To 100 If CStr(x) Like "[!2]3" Then Print x Next x ' Output: ' 13 33 43 53 63 73 83 93
Example 2
This example uses Like as a validation formula for city and zip fields.
if doc.city(0) like "*[0-9]*" then messagebox _ "city field contains a number"
if doc.zip(0) like "*[a-z,A-Z]*" then messagebox _ "zip code field contains a character"
Example 3
This example shows some ways you can test a string with Like to see if it contains a given substring:
' Make string comparison case-sensitive. Option Compare Case Dim anArray(1 To 6) As String anArray(1) = "Juan" anArray(2) = "Joan" anArray(3) = "Alejandro" anArray(4) = "Jonathan" anArray(5) = "Andrea" anArray(6) = "Jane" UB% = UBound(anArray) ' Test each name in anArray$ to see if it contains a substring ' consisting of any characters followed by uppercase J ' followed by any characters followed by lowercase n followed ' by any characters. For counter% = 1 to UB% If anArray(counter%) Like "*J*n*" Then Print anArray(counter%) & " " ; End If Next Print "" ' Output: Juan Joan Jonathan Jane ' Test each name in anArray$ to see if it contains ' a numeric character. badRec% = 0 For counter% = 1 to UB% If anArray(counter%) Like "*#*" Then Print anArray(counter%) & " contains a numeral." badRec% = badRec% + 1 End If Next If badRec% = 0 Then Print "No name contains a numeral." End If ' Output: No name contains a numeral. ' Test the lowercase representation of each name in anArray$ ' to see if it ends in a vowel. For counter% = 1 to UB% If anArray(counter%) Like "*[aeiou]" Then Print anArray(counter%) & " " ; End If Next Print "" ' Output: Alejandro Andrea Jane
See Also