Clojure:每隔x个字符将空格插入字符串

时间:2014-10-22 11:36:05

标签: string clojure

我有一个很长的clojure字符串,我需要每2个字符用空格分隔它(例如:“1234567890” - >“12 34 56 78 90”。 我使用的解决方案是:

(->>
  (partition 2 2 "" s)
  (map (partial join ""))
  (join " "))

有没有更简单的方法呢?

2 个答案:

答案 0 :(得分:0)

你可以用正则表达式来做,但这更简单吗?对我来说 - 是的,但它看起来像是一种品味。

user> (clojure.string/replace "1234567890" #"(.{2})(?!$)" "$1 ")
"12 34 56 78 90"

答案 1 :(得分:0)

另一种可能的变体:

user=> (->> "1234567890" (partition 2) (map #(apply str %))
            (clojure.string/join " "))
"12 34 56 78 90"