clojure - clojure 有原始字符串吗?

标签 clojure escaping rawstring

在 Python 中,我可以添加前缀 r到字符串文字(原始字符串)以告诉解释器不要翻译字符串中的特殊字符:

>>> r"abc\nsdf#$%\^"
r"abc\nsdf#$%\^"

有没有办法在 Clojure 中做同样的事情?

最佳答案

Clojure 字符串是 Java 字符串,读者不会对其解释添加任何重要内容。 The reader page只是说“支持标准的 Java 转义字符。”

你可以逃脱\尽管:

user> (print "abc\\nsdf#$%\\^")
abc\nsdf#$%\^

这只会影响读取器读取的字符串文字,因此如果您从文件中读取字符串,则读取器永远不会看到它们:
user> (spit "/tmp/foo" "abc\\nsdf#$%\\^")
nil
user> (slurp "/tmp/foo")
"abc\\nsdf#$%\\^"
user> (print (slurp "/tmp/foo"))
abc\nsdf#$%\^nil
user> 

所以,我认为基本的答案是否定的。

关于clojure - clojure 有原始字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11043318/

相关文章:

postgresql - Clojure jdbc 创建复合主键

Clojure 无符号 64 位整数

javascript - 删除转义字符

python - 如何将 """(三引号)编码为原始字符串?

c++ - 在 C++ 的原始字符串中转义 R"()"

join - clojure 中惯用的映射连接?

java - 从 Java 使用命名/默认参数调用 Clojure 函数的最佳方法

php - 在转换为 XML 之前转义发布数据的正确方法

jasper-reports - 如何在 JasperReports 中转义特殊字符?

python - Python 中原始字符串的隐式行连接需要什么