Structural Informatics Group (SIG) logo
Home | Projects | Demos | Downloads | Publications | Local Info | About Us | New site
Go to the first, previous, next, last section, table of contents.



type: function (subr) 
location: built-in
source file: xlstr.c
Common LISP compatible: yes
supported on: all machines


(string-not-equal <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-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-NOT-EQUAL the corresponding character of <string2>. This test is not case sensitive - the character #\a is considered to be the same as #\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-not-equal "a" "b")              ; returns 0
(string-not-equal "a" "a")              ; returns NIL
(string-not-equal "a" "A")              ; returns NIL
(string-not-equal "A" "a")              ; returns NIL
(string-not-equal "abc" "abc ")         ; returns 3
(string-not-equal "J Smith" "K Smith"   ; strip off the first chars 
           :start1 1 :start2 1)         ; returns NIL
(string-not-equal "abc" "123456789"     ; leave just the first 3 chars 
           :end2 3 :end1 3)             ; returns 0

NOTE: The STRING-NOT-EQUAL function is listed in the documentation that comes with XLISP as STRING-NOT-EQUALP. It functions properly in the XLISP code as STRING-NOT-EQUAL.

Go to the first, previous, next, last section, table of contents.