我试图在clojure中分割一个字符串" Hello|World"但是当使用split方法时" (clojure.string/split x #"|")"我得到了一个奇怪的结果,我得到了这个"[h e l l o | w o r l d]".任何人都可以告诉我它为什么这样做,我怎么能把它分开来得到[hello world]?
这是答案:
(str/split "Hello|World" #"|") => ["H" "e" "l" "l" "o" "|" "W" "o" "r" "l" "d"]
(str/split "Hello World" #" ") => ["Hello" "World"]
(str/split "Hello|World" #"\|") => ["Hello" "World"]
Run Code Online (Sandbox Code Playgroud)
在正则表达式中,该|字符是特殊的,需要使用反斜杠进行转义\.
该|字符是正则表达式中的逻辑运算符,通常用于表示"或",如"abc | def":
(str/split "Hello|World" #"e|o") => ["H" "ll" "|W" "rld"]
Run Code Online (Sandbox Code Playgroud)
由于你没有其他东西存在,它似乎被解释为"任何东西或任何东西",所以它匹配每个角色之间的边界.
| 归档时间: |
|
| 查看次数: |
215 次 |
| 最近记录: |