On this page:
make-character-list
string
string-append
string-downcase
string-equal
string-upcase
string<
string<=
string>
string>=
stringp
1.4.3 Strings

Some string functions can be found in the section on Sequences as well.

This function will coerce a value to a list of characters.

Example:

  > (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.

Example:

  > (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.

Example:

  > (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.

Example:

  > (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)

  '()