Lisp String Handling-Version20120120
Lisp String Handling-Version20120117 - Shammerismから間もないが、subseq や position、intern を入れ忘れていたので追記。
大文字にする
? (string-upcase "abc") "ABC" ?
小文字にする
? (string-downcase "ABC") "abc" ?
連結する
? (concatenate 'string "abc" "def") "abcdef" ?
文字列を一文字ずつのリストに分割
? (coerce "abcdefg" 'list) (#\a #\b #\c #\d #\e #\f #\g) ?
特定の一文字を削除
? (remove #\a "aabbccddeeffgg") "bbccddeeffgg" ?
trimming する
? (string-trim " " " abc ") "abc" ? (string-trim "a" "aabbaacc") "bbaacc" ?
文字列の一部分を取り出す
? (defparameter *string* "abcdefghijklmnopqrstuvwxyz") *STRING* ? (subseq *string* 10) "klmnopqrstuvwxyz" ? (subseq *string* 0 10) "abcdefghij" ? (subseq *string* 5 10) "fghij" ?
文字列が特定の文字を含んでいるかを確認
? (defparameter *string* "abcdefghijklmnopqrstuvwxyz") *STRING* ? (position #\a *string*) 0 ? (position #\A *string*) NIL ? (position #\x *string*) 23 ?
文字列が特定の文字列を含んでいるかを確認
? (defparameter *string* "abcdefghijklmnopqrstuvwxyz") *STRING* ? (search "hij" *string*) 7 ? (search "kkk" *string*) NIL ? (search "xyz" *string*) 23 ? (search "abc" *string*) 0 ?
文字列をシンボルに変換する
? (intern "foo") |foo| NIL ? (intern "BAR") BAR NIL ? (intern "Baz") |Baz| NIL ?