type: function (subr) location: built-in source file: xlstr.c Common LISP compatible: yes supported on: all machines
(string/= <string1> <string2> [ <key> <offset> ] ... ) <string1> - a string expression <string2> - a string expression <key> - a keyword (one of :START1 :START2 :END1 :END2 ) <offset> - an optional integer expression (for a keyword)
The STRING/= (string-NOT-EQUAL) function takes two string arguments. A non-NIL value is returned if <string1> is not equal to <string2>, otherwise NIL is returned. The non-NIL value returned is the integer index of the first character of <string1> which is CHAR/= the corresponding character of <string2>. This test is case sensitive - the character #\a is different (and of greater ASCII value) than #\A.
The keyword arguments allow for accessing substrings within <string1> and <string2>. The keyword arguments each require the keyword (:START1 :END1 :START2 :END2) and a single integer expression as a pair with the keyword first and the integer second. The pairs may be in any order. The start keywords specify the starting offset of the substring. A value of 0 starts the string at the beginning (no offset). The end keywords specify the ending offset of the substring. A value of 3 ends the string after the 3rd character (an offset of 3 characters).
(string/= "a" "b") ; returns 0 (string/= "a" "a") ; returns NIL (string/= "a" "A") ; returns 0 (string/= "A" "a") ; returns 0 (string/= "abc" "abc ") ; returns 3 ; (string/= "J Smith" "K Smith" ; strip off the first chars :start1 1 :start2 1) ; returns NIL (string/= "abc" "123456789" ; leave just the first 3 chars :end2 3 :end1 3) ; returns 0
NOTE: Be sure that the STRING/= function is properly typed in. The '/' is a forward slash. It is possible to mistakenly type a '\' (backslash). This is especially easy because the character mechanism is '#\a'. If you do use the backslash, no error will be reported because backslash is the single escape character and the LISP reader will evaluate 'STRING\=' as 'STRING='. No error will be reported, but the sense of the test is reversed.