Next: Searching Strings, Previous: Alphabetic Case in Strings, Up: Strings [Contents][Index]
Returns a newly allocated string made from the concatenation of the given
strings. With no arguments, string-append
returns the empty
string (""
).
(string-append) ⇒ ""
(string-append "*" "ace" "*") ⇒ "*ace*"
(string-append "" "" "") ⇒ ""
(eq? str (string-append str)) ⇒ #f ; newly allocated
Returns a newly allocated string formed from the characters of string beginning with index start (inclusive) and ending with end (exclusive).
(substring "" 0 0) ⇒ "" (substring "arduous" 2 5) ⇒ "duo" (substring "arduous" 2 8) error→ 8 not in correct range (define (string-copy s) (substring s 0 (string-length s)))
Returns a newly allocated copy of the initial substring of string, up to but excluding end. It could have been defined by:
(define (string-head string end) (substring string 0 end))
Returns a newly allocated copy of the final substring of string, starting at index start and going to the end of string. It could have been defined by:
(define (string-tail string start) (substring string start (string-length string))) (string-tail "uncommon" 2) ⇒ "common"
These procedures return a newly allocated string created by padding
string out to length k, using char. If char is
not given, it defaults to #\space
. If k is less than the
length of string, the resulting string is a truncated form of
string. string-pad-left
adds padding characters or
truncates from the beginning of the string (lowest indices), while
string-pad-right
does so at the end of the string (highest
indices).
(string-pad-left "hello" 4) ⇒ "ello" (string-pad-left "hello" 8) ⇒ " hello" (string-pad-left "hello" 8 #\*) ⇒ "***hello" (string-pad-right "hello" 4) ⇒ "hell" (string-pad-right "hello" 8) ⇒ "hello "
Returns a newly allocated string created by removing all characters that
are not in char-set from: (string-trim
) both ends of
string; (string-trim-left
) the beginning of string;
or (string-trim-right
) the end of string. Char-set
defaults to char-set:not-whitespace
.
(string-trim " in the end ") ⇒ "in the end" (string-trim " ") ⇒ "" (string-trim "100th" char-set:numeric) ⇒ "100" (string-trim-left "-.-+-=-" (char-set #\+)) ⇒ "+-=-" (string-trim "but (+ x y) is" (char-set #\( #\))) ⇒ "(+ x y)"
Next: Searching Strings, Previous: Alphabetic Case in Strings, Up: Strings [Contents][Index]