1.4.3 Strings
Some string functions can be found in the section on Sequences as well.
(make-character-list x) → character-listp |
x : t |
This function will coerce a value to a list of characters.
Examples: |
> (make-character-list "hello") |
() |
(string x) → t |
x : (or (stringp x) (symbolp x) (characterp x)) |
Uses coerce to convert the input into a string.
Examples: |
> (string "abc") |
"abc" |
> (string 'abc) |
"ABC" |
> (string #\a) |
"a" |
(string-append x y) → t |
x : (stringp x) |
y : (stringp y) |
Concatenates two strings together.
Examples: |
> (string-append "ab" "cd") |
"abcd" |
(string-downcase str) → t |
str : (and (stringp str) (standard-char-listp (coerce str 'list))) |
Converts the characters in str to lowercase.
Examples: |
> (string-downcase "ABCdef") |
"abcdef" |
(string-equal x y) → t |
x : (and (stringp x) (standard-char-listp (coerce x 'list))) |
y : (and (stringp y) (standard-char-listp (coerce y 'list))) |
Compares two strings to see if they are equal.
Examples: |
> (string-equal "ab" "cd") |
() |
> (string-equal "ab" "ab") |
t |
(string-upcase str) → t |
str : (and (stringp str) (standard-char-listp (coerce str 'list))) |
Converts the characters in str to uppercase.
Examples: |
> (string-upcase "ABCdef") |
"ABCDEF" |
(string< x y) → t |
x : (stringp x) |
y : (stringp y) |
Compares the two strings for lexicographical ordering. Returns non-nil if and only if x precedes y lexicographically. When non-nil, the number returned is the first position at which the strings differ.
Examples: |
> (string< "ab" "cd") |
0 |
> (string< "ab" "abc") |
2 |
(string<= x y) → t |
x : (stringp x) |
y : (stringp y) |
Compares the two strings for lexicographical ordering. Returns non-nil if and only if x precedes y lexicographically. If they differ, the number returned is the first position at which the strings differ. Otherwise, the number returned is their common length.
Examples: |
> (string<= "ab" "cd") |
0 |
> (string<= "ab" "ab") |
2 |
(string> x y) → t |
x : (stringp x) |
y : (stringp y) |
Compares the two strings for lexicographical ordering. Returns non-nil if and only if y precedes x lexicographically. When non-nil, the number returned is the first position at which the strings differ.
Examples: |
> (string> "ab" "cd") |
() |
> (string> "ab" "ab") |
() |
> (string> "ba" "ab") |
0 |
(string>= x y) → t |
x : (stringp x) |
y : (stringp y) |
Compares the two strings for lexicographical ordering. Returns non-nil if and only if y precedes x lexicographically. If they differ, the number returned is the first position at which the strings differ. Otherwise, the number returned is their common length.
Examples: |
> (string>= "ab" "cd") |
() |
> (string>= "ab" "ab") |
2 |
> (string>= "ba" "ab") |
0 |
(stringp x) → t |
x : t |
Determines whether x is a string.
Examples: |
> (stringp "abcd") |
t |
> (stringp nil) |
() |