clojure和java中的拆分将正则表达式作为要拆分的参数.但我只是想用普通的char来分裂.传入的字符可能是"|",",",""等等如何用该字符分割一行?
我需要一些功能,如(split string a-char).并且此功能将以非常高的频率调用,因此需要良好的性能.好的解决方案.
类中有一些功能java.util.regex.Pattern支持将字符串视为文字正则表达式.这对于诸如此类的情况很有用.@cgrand (Pattern/quote s)在另一个答案的评论中已经提到了.另一个这样的特征是LITERAL标志(在此记录).它可以在编译文字正则表达式模式时使用.请记住,#"foo"Clojure本质上是(Pattern/compile"foo")的语法糖.总而言之,我们有:
(import 'java.util.regex.Pattern)
(clojure.string/split "foo[]bar" (Pattern/compile "[]" Pattern/LITERAL))
;; ["foo" "bar"]
Run Code Online (Sandbox Code Playgroud)