文字列を1文字ずつに分ける - lisp-cookbook-ja/common-lisp GitHub Wiki

文字列 シーケンス cl-ppcre

一文字ずつ文字にする

coerceを利用して文字列を文字のリストに変換します。

(coerce "いろはにほへとちりぬるを" 'list)
;=> (#\い #\ろ #\は #\に #\ほ #\へ #\と #\ち #\り #\ぬ #\る #\を)

一文字ずつ文字列にする

mapを利用します。stringで一文字ずつ文字を文字列に変換したものをリストで返します。

(map 'list #'string "いろはにほへとちりぬるを")
;=> ("い" "ろ" "は" "に" "ほ" "へ" "と" "ち" "り" "ぬ" "る" "を")

Perl風に正規表現で分割することもできます。CLiki:CL-PPCREのsplitを利用します。

;; split //, "いろはにほへとちりぬるを";
(ppcre:split "" "いろはにほへとちりぬるを")
;=> ("い" "ろ" "は" "に" "ほ" "へ" "と" "ち" "り" "ぬ" "る" "を")