部分文字列を取り出す - lisp-cookbook-ja/common-lisp GitHub Wiki
部分文字列の取り出しにはsubseq関数を使います。
;; 2文字目から最後までを取り出す
(subseq "0123456" 1) ;=> "123456"
;; 3文字目から4文字目までを取り出す
(subseq "0123456" 2 4) ; => "23"
取り出す部分の複製が返されるので、変更しても元の文字列への影響はありません。
;; s2を変更してもs1には影響しない
(let* ((s1 "0123456")
(s2 (subseq s1 1)))
(setf (elt s2 0) #\!)
(list s1 s2))
;=> ("0123456" "!23456")