📝Clojure DS Idioms

📝Clojure DS Idioms

up: 📝Clojure Data Science

Clojure Idioms の中でも Data Scienceの前処理に特化したものをまとめる. PythonやRとの比較も.

文字列処理 #

(require '[clojure.string :as str])

文字列の長さ: count #

(count "foo bar zzz")
; => 11

文字数制限: #

subs が良さそう. そのものズバリな関数は見つからなかった.

(subs "ClojureScript" 0 4)
;; => "Cloj"

ただし制限したい文字数未満だとエラーするので工夫は必要.

(defn trunc
  [s n]
  (subs s 0 (min (count s) n)))

(defn truncate
  [s n]
  (apply str (take n s)))

文字列をスペースで分割する: split #

(str/split "foo bar zzz" #" ")
; ["foo" "bar" "zzz"]

文字列を置換する: replace #

(clojure.string/replace "The color is red" #"red" "blue")