如何将关键字转换为String并保留冒号

时间:2013-10-14 20:54:19

标签: clojure

我想在sql查询中替换关键字,所有这些都以冒号开头,例如:开始日期,:结束日期。我正在使用这段代码:

(defn replace-by-pair [s [match replacement]]
  (str/replace s (re-pattern (name match)) replacement))

(replace-by-pair ":start-date" [:start-date, "20130901"])

函数名称返回关键字的字符串表示形式,因此不会替换冒号:

":20130901"

是否有另一种方法可以将关键字转换为String并包含冒号?

1 个答案:

答案 0 :(得分:3)

是的,还有另一种方法可以将关键字转换为字符串 - 您可以使用str,如下所示:

(name :start-date)
;=> "start-date"

(str :start-date)
;=> ":start-date"