首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否将字符添加到字符串以获得另一个字符串?

是否将字符添加到字符串以获得另一个字符串?
EN

Stack Overflow用户
提问于 2011-11-11 00:20:10
回答 2查看 15.8K关注 0票数 23

我想将一个字符添加到一个字符串中,并获得另一个作为结果添加了该字符的字符串。

这不起作用:

代码语言:javascript
复制
(cons \a "abc")

可能的解决方案,按偏好顺序排列:

function

  • Clojure用户定义的
  1. Clojure核心function
  2. Clojure库(me!)函数(如

(apply str (cons \a "abc")))

  • java.lang.String方法

在我推出自己的解决方案之前,是否有1类解决方案?

编辑:这是一个非常愚蠢的问题。:(

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-11 00:31:02

这样如何:

代码语言:javascript
复制
(str "abc" \a)

这将在我的机器上返回"abca“。

您还可以将它用于任意数量的字符串/字符:(str "kl" \m "abc" \a \b)

票数 53
EN

Stack Overflow用户

发布于 2011-11-11 00:31:40

您可以使用clojure.string中的join

(clojure.string/join [\a "abc"])

但是对于简单的用例,你真的应该使用str,就像@Dan Filimon建议的那样。join还有一个额外的好处,那就是您可以在连接的字符串之间放置分隔符,但如果没有分隔符,它实际上只应用str

代码语言:javascript
复制
(defn ^String join
  "Returns a string of all elements in coll, separated by
   an optional separator.  Like Perl's join."
  {:added "1.2"}
  ([coll]
     (apply str coll))
  ([separator [x & more]]
     (loop [sb (StringBuilder. (str x))
            more more
            sep (str separator)]
       (if more
         (recur (-> sb (.append sep) (.append (str (first more))))
                (next more)
                sep)
         (str sb)))))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8082706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档