string - 来自 Vector 的逗号分隔字符串值

标签 string vector clojure

我正在定义一个包含字符串值的向量。要求是从输入向量中检索以逗号分隔的字符串值。例如:

(def my-strings ["one" "two" "three"])

我的预期输出应该是:

"one", "two", "three" 

我尝试了interposejoin,如下所示:

(apply str (interpose "," my-strings))
(clojure.string/join "," my-strings)

两者都返回“一,二,三”,但我需要每个字符串都用双引号括起来“”,就像上面的示例一样。

最佳答案

使用 map 用引号将每个字符串括起来,并注意我们如何使用字 rune 字 \" 表示单引号:

(clojure.string/join "," (map #(str \" % \") my-strings))
=> "one","two","three"

但请注意:字符串是包含在 "" 字符内的文本,但引号本身不是字符串的一部分。因此,“one,two, Three” 输出本身并没有错误,除非您确实需要在文本周围添加额外的引号。

关于string - 来自 Vector 的逗号分隔字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17678997/

相关文章:

clojure - 使用 Clojure 使用 Mahout 进行聚类 (fkmeans)

macros - 当协议(protocol)调用表单包含 <!宏(多方法 '-item-to-ssa' 无法在 :protocol-invoke) 上调度

java - Java 中的 Mustache 类型的字符串替换

ruby - 如何根据给定的字符顺序对字符串进行排序?

c++ - vector::push_back 与 vector::operator[]

testing - clojure 是否需要依赖注入(inject)来使代码更易于测试?

正则表达式替换配置单元中的解决方案以屏蔽前 6 个字符

C字符串包含模数

java - 将 vector 转换为数组列表

c++ - 从 vector 中删除元素/删除对象