一覧にある関数はとりあえず、使えそうな関数です。
現在のところ、確認は、2.6.10で行っています。
文字列操作 | ||
---|---|---|
( string? target ) | boolean | |
文字列判別 targetが文字列ならば #t 、文字列でなければ #f を返す。 | ||
( make-string | string | |
同一文字の連続からなる文字列 k個のcharからなる文字列を返す。charを省略すると指定個数のスペース。
charはchar型で特殊な書き方をするので注意。
(make-string 5 #/a)
"aaaaa"
| ||
( string | string | |
文字並びから作る文字列 引数の文字を連結した文字列を返す。
(string #\A #\p #\p #\l #\e)
"Apple"
| ||
( string-length | integer | |
文字列の長さ 文字数を返却する。漢字は1文字として数える。 (string-length "abc") 3 (string-length "アルゴ算法堂") 6 | ||
( string-ref | char | |
指定位置の文字 strの先頭からk番目の文字を返却。先頭の文字は0番目とする。位置指定(k)に文字が無い場合には、例外エラーとなる。漢字は一文字と数える。 (string-ref "abc" 1 ) #\b (string (string-ref "アルゴ算法堂" 1)) "ル" (string-ref "アルゴ算法堂" 1)だけだと結果が見えないので、stringを使った。 | ||
( string-set! | string | |
指定位置の文字を差し替え 文字列strのk番目の文字をcharに差し替える。位置は先頭が0番目。指定位置に文字が無い場合はエラー。漢字は一文字で数える。 (string-set! "abcd" 1 #\x) ↑errorとなる (string-set! (string #\a #\b #\c #\d) 1 #\x) "axcd" (define mystr (string-copy "alpha")) mystr (string-set! mystr 1 #\x) "axpha" mystr "axpha" | ||
( substring | string | |
部分文字列 strのstart番目からend番目の一つ前までの文字列を返す。endが省略された場合は、endは文字列末。start、endは文字列先頭を0番目として数える。漢字は1文字とする。不正な位置が指定されるとエラーとなる (substring "abcdefg" 1 3 ) "bc" (substring "アルゴ算法堂" 3 ) "算法堂" | ||
( string-copy | string | |
文字列のコピー 文字列を複写して新たな文字列として返す。immutableな文字列をmutableにできる。 | ||
( string-fill! | 戻り値 | |
文字列を指定の文字で埋め尽くす。 文字列destのすべての文字をcharで置き換える。 (string-fill! (string-copy "apple") #\x) "xxxxx" (define mystr (string-copy "apple")) mystr (string-fill! mystr #\x) "xxxxx" mystr "xxxxx" | ||
( string-append | string )string | |
文字列連結 引数(0個以上)を順番に連結した文字列を返す。
(string-append "アルゴ" "算法堂" "です")
"アルゴ算法堂です"
| ||
( string->list | list of char | |
文字列を分解してリストに 文字列strの構成文字からなるリストを返却する。
(string->list "alpha")
(#\a #\l #\p #\h #\a)
| ||
( list->string | string | |
文字並びリストを文字列に 文字だけで構成されたリストlstの文字を連結して文字列を返却する。 | ||
( string=? | boolean | |
文字列比較(等しい) 引数の文字列すべてが等しければ #t。 | ||
( string<? | boolean | |
文字列比較(小さい) 残念ながら、引数が二つの場合だけ正常に動作する。 | ||
( string<=? | boolean | |
文字列比較(大きくない) 残念ながら、引数が二つの場合だけ正常に動作する。 | ||
( string>? | boolean | |
文字列比較(大きい) 残念ながら、引数が二つの場合だけ正常に動作する。 | ||
( string>=? | boolean | |
文字列比較(小さくない) 残念ながら、引数が二つの場合だけ正常に動作する。 | ||
( string-ci=? | boolean | |
大文字小文字を無視した文字列比較(等しい) 残念ながら、引数が二つの場合だけ正常に動作する。 | ||
( string-ci<? | boolean | |
大文字小文字を無視した文字列比較(小さい) 残念ながら、引数が二つの場合だけ正常に動作する。 | ||
( string-ci<=? | boolean | |
大文字小文字を無視した文字列比較(大きくない) 残念ながら、引数が二つの場合だけ正常に動作する。 | ||
( string-ci>? | boolean | |
大文字小文字を無視した文字列比較(大きい) 残念ながら、引数が二つの場合だけ正常に動作する。 | ||
( string-ci>=? | boolean | |
大文字小文字を無視した文字列比較(小さくない) 残念ながら、引数が二つの場合だけ正常に動作する。 |