Next: String Modification, Previous: List/String Conversion, Up: Strings [Contents][Index]
Portions of strings can be extracted by these procedures.
string-ref
delivers individual characters whereas
substring
can be used to extract substrings from longer strings.
Return the number of characters in string.
Return the number of characters in str as a size_t
.
Return character k of str using zero-origin indexing. k must be a valid index of str.
Return character k of str using zero-origin indexing. k must be a valid index of str.
Return a copy of the given string str.
The returned string shares storage with str initially, but it is copied as soon as one of the two strings is modified.
Return a new string formed from the characters of str beginning with index start (inclusive) and ending with index end (exclusive). str must be a string, start and end must be exact integers satisfying:
0 <= start <= end <= (string-length str)
.
The returned string shares storage with str initially, but it is copied as soon as one of the two strings is modified.
Like substring
, but the strings continue to share their storage
even if they are modified. Thus, modifications to str show up
in the new string, and vice versa.
Like substring
, but the storage for the new string is copied
immediately.
Like substring
, but the resulting string can not be modified.
Like scm_substring
, etc. but the bounds are given as a size_t
.
Return the n first characters of s.
Return all but the first n characters of s.
Return the n last characters of s.
Return all but the last n characters of s.
Take characters start to end from the string s and either pad with chr or truncate them to give len characters.
string-pad
pads or truncates on the left, so for example
(string-pad "x" 3) ⇒ " x" (string-pad "abcde" 3) ⇒ "cde"
string-pad-right
pads or truncates on the right, so for example
(string-pad-right "x" 3) ⇒ "x " (string-pad-right "abcde" 3) ⇒ "abc"
Trim occurrences of char_pred from the ends of s.
string-trim
trims char_pred characters from the left
(start) of the string, string-trim-right
trims them from the
right (end) of the string, string-trim-both
trims from both
ends.
char_pred can be a character, a character set, or a predicate
procedure to call on each character. If char_pred is not given
the default is whitespace as per char-set:whitespace
(see Standard Character Sets).
(string-trim " x ") ⇒ "x " (string-trim-right "banana" #\a) ⇒ "banan" (string-trim-both ".,xy:;" char-set:punctuation) ⇒ "xy" (string-trim-both "xyzzy" (lambda (c) (or (eqv? c #\x) (eqv? c #\y)))) ⇒ "zz"
Next: String Modification, Previous: List/String Conversion, Up: Strings [Contents][Index]