据我了解,您有一系列字符串。Clojure 为序列提供了一个非常具体的 toString 实现,您可以在此处查看。
如果您输入(str d1)
或只是输入d1
repl 并按 Enter,您将或多或少地看到您输入的内容:字符串序列(字符串打印为双引号中的字符序列)。
现在,如果您想连接所有字符串,您可以这样做:
(apply str d1)
如果你想用逗号分隔打印它,你可以这样做:
(apply str (interpose "," d1))
输出是 CSV 格式,我建议使用clojure-csv。
最后,如果您只是想打印列表但没有字符串周围的双引号,您可以这样做:
(print d1)
希望这可以帮助。
EDIT1(由于问题的变化而更新):
这可以通过以下方式轻松实现:
(apply str (interpose "|" d1))
请不要注意整个结果周围的双引号,如果您print
将它或spit
它放入您看不到的文件中,这就是 Clojure 打印字符串的方式readably。
或者,如果您有多个想要一次输出的序列,您仍然可以使用 clojure-csv 但使用不同的分隔符:
(ns csv-test.core
(:require [clojure-csv.core :as csv]))
(def d1 (list "9990999" "43" "ROADWAY" "MORRISON, VAN X DMD" "43 ROADWAY" "SOMETHINGTON" "XA" "00000" "501" "18050" "2500" "1180" "14370" "0"))
(print (csv/write-csv [d1] :delimiter "|"))
;;prints:
;;9990999|43|ROADWAY|MORRISON, VAN X DMD|43 ROADWAY|SOMETHINGTON|XA|00000|501|18050|2500|1180|14370|0