在clojure中读取制表符分隔的文件

ani*_*roc 3 regex formatting parsing clojure string-formatting

如何使用 Clojure 读取制表符分隔的文件?一行中可能存在与制表符不对应的空格。

例如:变换

some field     another-field     a third field
Run Code Online (Sandbox Code Playgroud)

进入

["some field" "another-field" "a third field"]
Run Code Online (Sandbox Code Playgroud)

Mic*_*zyk 6

您可以使用data.csv Contrib 库:

;; in your :dependencies
[org.clojure/data.csv "0.1.2"]

;; at the REPL
(require '[clojure.data.csv :as csv])

(csv/read-csv
  (java.io.StringReader. "some field\tanother-field\ta third field")
  :separator \tab)
;= (["some field" "another-field" "a third field"])
Run Code Online (Sandbox Code Playgroud)

(使用类似(with-open [rdr (clojure.java.io/reader f)] (vec (csv/read-csv rdr :separator \tab)))从 TSV 文件读取数据的方法f。)