List/String conversion
When processing strings, it is often convenient to first convert them into a list representation by using the procedure string->list, work with the resulting list, and then convert it back into a string. These procedures are useful for similar tasks.
Scheme Procedure: string->list str [start [end]]
C Function: scm_substring_to_list (str, start, end)
C Function: scm_string_to_list (str)
Convert the string str into a list of characters.
Scheme Procedure: string-split str char_pred
C Function: scm_string_split (str, char_pred)
Split the string str into a list of substrings delimited by appearances of characters that
- equal
char_pred, if it is a character, - satisfy the predicate
char_pred, if it is a procedure, - are in the set
char_pred, if it is a character set.
Note that an empty substring between separator characters will result in an empty string in the result list.
emacs-lisp
(string-split "root:x:0:0:root:/root:/bin/bash" #\:)
⇒
("root" "x" "0" "0" "root" "/root" "/bin/bash")
(string-split "::" #\:)
⇒
("" "" "")
(string-split "" #\:)
⇒
("")