Clojure:
部分文字列の抽出
How to:
Clojureでは subs
関数を用いて部分文字列を簡単に取り出せます。
(def full-string "Clojureは素晴らしい!")
;; 文字列の6文字目から11文字目を取り出す
(println (subs full-string 5 12)) ; => "は素晴らし"
;; 文字列の最初から5文字目までを取り出す
(println (subs full-string 0 5)) ; => "Clojur"
これらコードは、指定した範囲の文字列を表示します。
Deep Dive
Clojureの subs
関数はJavaの substring
メソッドに基づいており、0
からインデックスを数え始め、開始インデックスを含み、終了インデックスを含まない範囲を返します。他の言語では slice
など別の名前で似たような操作ができます。ClojureがJavaのVM上で動く関係で、subs
関数もJavaの文字列処理の効率性を享受しています。ただし、不要なメモリ消費を避けるため、大きな文字列から小さな部分を抽出する際は注意が必要です。
See Also
- Clojureの公式ドキュメント
subs
function - Javaの
substring
method