Calling java.lang.String .split methode in clojure
当我在clojure中调用.split方法时,我得到:#object["[Ljava.lang.String;" 0x5aaf6982"[Ljava.lang.String;@5aaf6982"] #object["[Ljava.lang.String;" 0x18fbbda2"[Ljava.lang.String;@18fbbda2"]。如何在代码中使用该对象?
- 这就是我所说的.split:(.split"1,2,3,4,5"",")
您可以使用vec将Java数组转换为向量,例如
1 2
| (vec (.split"1,2,3,4,5"","))
=> ["1""2""3""4""5"] |
,但实际上,如果要将字符串拆分为Clojure集合,则应该使用clojure.string/split:
1 2
| (clojure.string/split"1,2,3,4,5" #",")
=> ["1""2""3""4""5"] |
假设您正在使用Java String类的.split方法,则结果为Java数组。
您可以使用Clojure的aget函数访问元素。
并且根据您的用例,可能最好将数组转换为Clojure序列,因此您可以使用Clojure提供的大量函数来操纵序列。
- 我如何才能将整个结果元素作为一个序列调用?有内置功能吗?我假设aget让我仅通过索引访问元素?
- @AmirTeymuri我提供的链接解释了aget。