clojure.string/split和clojure.string/split-lines继承了java.lang.String#split(String,int)去除尾部连续分隔符的奇怪默认行为
(clojure.string/split "banana" #"an")
⇒ ["b" "" "a"]
(clojure.string/split "banana" #"na")
⇒ ["ba"]
(clojure.string/split "nanabanana" #"na")
⇒ ["" "" "ba"]
在split-line的情况下,逐行处理文件并重新连接会导致文件尾部换行的截断。在这两种情况下,行为出人意料,无法从文档字符串中推断出来。split的修改方法是将限制参数设置为-1。
*建议:* 由于当前用户可能依赖于当前行为,所附的只是一个更新了文档字符串的警告,并建议将限制参数设置为-1以作为回避的方法。
*补丁:* clj-1360-2.patch