(wcmatch string pattern)


Search that string.


This function finds internal string matches. You can see if a certain string is found, or match it with another string.

For example, if you had a string variable called MYVAR which contained the string "SUPERCALIFRAGILISTIC123\##" and you wanted to see if the characters "FRAG" were anywhere in the string you could use the wcmatch function, as follows:

  • (wcmatch MYVAR "*FRAG*")

If a match is found, wcmatch returns T. If no match is found, nil is returned. The wcmatch function is case-sensitive. To find a match, you should use strcase to change everything to uppercase if necessary.

You can use several wildcards for wcmatch:

Wildcard Definition
~ (tilde) Pattern not found in string.
* Standard wildcard; can be used anywhere.
? Matches for a space held by a character or number; number of question marks (?) must exactly match number of characters or numbers in the string.
# (pound) Matches any single number.
@@ Matches any single character; may not be a number.
. (period) Matches any single non-alphanumeric character.
(space) Matches one or more spaces.
[ ] Matches for any of the characters enclosed in the brackets.
[~ ] True only if there are extra characters not included in the brackets.
[ - ] (hyphen) Searches within a predefined range pattern.
, (comma) The "or" option.
' (reverse quote) Read next character literally; use for special characters.

Examples

Code Returns Comments
(setq N "11234 TROPICANA AVE.#@")    

 

   
(wcmatch N "~345") T "345" is not found in the pattern.
(wcmatch N "*opic*" ) T "opic" is found with anything before and after.
(wcmatch N "?????????????????????") T There are 21 characters, numbers and spaces in this string.
(wmatch N "#####*") T Matches 5 digits, followed by anything.

Tell me about...

(setq symbol1 statement1 [symbol2 statement2] ...)

(substr string start [length])

LISP Compatibility

Programming Overview of LISP (LISt Processing) Language