在Clojure中截断字符串的简单方法

时间:2013-12-23 16:10:22

标签: clojure

我有一个字符串,如果它太长,必须截断200个字符。

检查cheatsheet(subs "Lorem Ipsum" 0 200)似乎是一个明显的选择,但如果第二个运算符大于字符串的长度,它会抛出异常。

是否有一个简单的内置函数来截断Clojure中的字符串?如果我必须自己定义,那么最简单的方法是什么?

2 个答案:

答案 0 :(得分:20)

您可以事先检查长度,或使用min确定剩余的实际字符数:

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

答案 1 :(得分:6)

您可以将它们视为序列并获得安全(和优雅吗?)但成本是性能:

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