如何在clojure中使用定义多个正则表达式来拆分字符串?

时间:2016-08-08 06:46:13

标签: string clojure

我是 clojure 编程的新手。我正在学习通过定义正则表达式来分割字符串。我在这里学习https://clojuredocs.org/clojure.string/split

我想通过定义两个正则表达式来拆分字符串。例如:

=> (require '[clojure.string :as str])

=> (str/split "Hello world! Have a nice day" #" ")
;; ["Hello" "world!" "Have" "a" "nice" "day"]

=> (str/split "Hello world!\nHave a nice day" #"\n")
;; ["Hello world!" "Have a nice day"]

这很酷。现在我想在每个 空间 &上拆分一个字符串。的 换行 即可。

如果输入是“Hello world!\ n祝你有个美好的一天”,输出应为 [“Hello”“world!” “有”“一个”“好”“天”]

谁能建议我,我怎么能这样做?谢谢。

1 个答案:

答案 0 :(得分:5)

我建议您使用#"\s+"作为拆分正则表达式,因为\s符号类包含所有空格字符(从java正则表达式开始,它们是[ \t\n\x0B\f\r]。{{3} })。

user> (clojure.string/split "Hello world! Have  a nice   day\naaa bbb" #"\s+")
["Hello" "world!" "Have" "a" "nice" "day" "aaa" "bbb"]