如何读取带反斜杠的字符串?

时间:2013-09-07 18:05:41

标签: clojure

显然我不能read-string一些字符​​串,比如

user> (read-string "\" \\ABC \"")
RuntimeException Unsupported escape character: \A  clojure.lang.Util.runtimeException (Util.java:219)
user> 

有办法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我假设你想要打印一个字符串,当你打印它的" \ ABC"时,所以:

user=> (println "\\ABC")
\ABC
nil

如您所见,读者需要两个" \"。由于read-string期望字符串是有效的Clojure表达式,并且从您的示例中您尝试读取包含字符串的字符串,您需要同时转义" (正如你所做的那样)和两个 \:

user=> (def s (read-string "\" \\\\AB\""))
#'user/s
user=> (class s)
java.lang.String
user=> (println s)
 \AB
nil
user=> s
" \\AB"