Node:SRFI-13 Selection, Next:, Previous:SRFI-13 List/String Conversion, Up:SRFI-13

39.11.5 Selection

These procedures are called selectors, because they access information about the string or select pieces of a given string.

Additional selector procedures are documented in the Strings section (see String Selection), like string-length or string-ref.

string-copy is also available in core Guile, but this version accepts additional start/end indices.

string-copy str [start end] Scheme Procedure
Return a freshly allocated copy of the string str. If given, start and end delimit the portion of str which is copied.

substring/shared str start [end] Scheme Procedure
Like substring, but the result may share memory with the argument str.

string-copy! target tstart s [start end] Scheme Procedure
Copy the sequence of characters from index range [start, end) in string s to string target, beginning at index tstart. The characters are copied left-to-right or right-to-left as needed - the copy is guaranteed to work, even if target and s are the same string. It is an error if the copy operation runs off the end of the target string.

string-take s n Scheme Procedure
string-take-right s n Scheme Procedure
Return the n first/last characters of s.

string-drop s n Scheme Procedure
string-drop-right s n Scheme Procedure
Return all but the first/last n characters of s.

string-pad s len [chr start end] Scheme Procedure
string-pad-right s len [chr start end] Scheme Procedure
Take that characters from start to end from the string s and return a new string, right(left)-padded by the character chr to length len. If the resulting string is longer than len, it is truncated on the right (left).

string-trim s [char_pred start end] Scheme Procedure
string-trim-right s [char_pred start end] Scheme Procedure
string-trim-both s [char_pred start end] Scheme Procedure
Trim s by skipping over all characters on the left/right/both sides of the string that satisfy the parameter char_pred:
  • if it is the character ch, characters equal to ch are trimmed,
  • if it is a procedure pred characters that satisfy pred are trimmed,
  • if it is a character set, characters in that set are trimmed.

If called without a char_pred argument, all whitespace is trimmed.