Common Lisp the Language, 2nd Edition
![]()
Next: String Comparison
Up: Strings
Previous: Strings
The following functions access a single character element of a string.
[Function]
charstringindex
scharsimple-stringindex
The given index must be a non-negative integer less than the
length of string, which must be a string. The character at
position index of the string is returned as a character object.
(This character will necessarily satisfy the predicate
string-char-p.)

X3J13 voted in March 1989 (CHARACTER-PROPOSAL) to eliminate
string-char-p.

As with all sequences in Common Lisp, indexing is zero-origin. For example:
(char "Floob-Boober-Bab-Boober-Bubs" 0) => #\F
(char "Floob-Boober-Bab-Boober-Bubs" 1) => #\l
See aref and elt. In effect,
(char s j) == (aref (the string s) j)
setf may be used with char to destructively
replace a character within a string.
For char, the string may be any string; for
schar, it must be a simple string. In some implementations
of Common Lisp, the function schar may be faster than
char when it is applicable.
AI.Repository@cs.cmu.edu