▼ 2.4 Functions and Macros
 2.4.1 Booleans 2.4.2 Symbols 2.4.3 Strings 2.4.4 Characters 2.4.5 Rational and Complex Arithmetic 2.4.6 Bitwise Operations 2.4.7 Ordinal Arithmetic 2.4.8 Lists 2.4.9 Association Lists 2.4.10 Sets 2.4.11 Trees 2.4.12 Sequences 2.4.13 IO
Version: 4.1.1
##### 2.4.3Strings

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

 (string-append x y) → t x : (stringp x) y : (stringp y)

Concatenates two strings together.

 Examples: > (string-append "ab" "cd") "abcd" > (string-append 'ab "cd") |Dracula program| broke the contract (case-> (-> (symbols ’string ’list) any) (->* ((symbols ’string ’list)) (or/c (listof string?) (listof (listof any/c))) any)) on #f; expected <(or/c (listof string?) (listof (listof any/c)))>, given: (ab "cd") > (string-append 5 "ab") |Dracula program| broke the contract (case-> (-> (symbols ’string ’list) any) (->* ((symbols ’string ’list)) (or/c (listof string?) (listof (listof any/c))) any)) on #f; expected <(or/c (listof string?) (listof (listof any/c)))>, given: (5 "ab")

 (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-downcase 'ABCdef) string-downcase: expects argument of type ; given ABCdef > (string-downcase 12345) string-downcase: expects argument of type ; given 12345

 (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-upcase 'ABCdef) string-upcase: expects argument of type ; given ABCdef > (string-upcase 12345) string-upcase: expects argument of type ; given 12345

 (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< 'symbol "string") |Dracula program| broke the contract (-> string? string? any) on #f; expected , given: symbol

 (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<= 'symbol "string") |Dracula program| broke the contract (-> string? string? any) on #f; expected , given: symbol

 (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> 'symbol "string") |Dracula program| broke the contract (-> string? string? any) on #f; expected , given: symbol

 (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 > (string>= 'symbol "string") |Dracula program| broke the contract (-> string? string? any) on #f; expected , given: symbol

 (stringp x) → t x : t

Determines whether x is a string.

 Examples: > (stringp "abcd") t > (stringp nil) ()