部分文字列の抽出

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