我有一个字符串,如果太长,必须截断200个字符.
检查的cheatsheet,(subs "Lorem Ipsum" 0 200)似乎是一个显而易见的选择,但如果第二个操作比字符串的长度时,它抛出一个异常.
是否有一个简单的内置函数来截断Clojure中的字符串?如果我必须自己定义,最简单的方法是什么?
xsc*_*xsc 21
您可以预先检查长度或用于min确定将保留的实际字符数:
(defn trunc
[s n]
(subs s 0 (min (count s) n)))
Run Code Online (Sandbox Code Playgroud)
您可以将它们视为序列并获得安全(和优雅?)但成本是性能:
(defn truncate
[s n]
(apply str (take n s)))
Run Code Online (Sandbox Code Playgroud)