ruby - 阻止 Ruby 自动转义字符串

标签 ruby escaping

如果我有字符串“this is a\#test”并将其放入Python shell中,我会得到'this is a\\#test' >,这就是我正在寻找的行为。但是,如果我将其放入 Ruby shell 中,则会返回 “this is a #test”,并且没有任何迹象表明存在反斜杠。如何使 Ruby 字符串表现得像 Python,即不自动转义 # 符号?

最佳答案

当您不想解释转义序列时,请使用单引号。

[1] pry(main)> 'this is a \#test'
=> "this is a \\#test"

单引号也不会进行字符串插值,因此如果您需要两者,您可以手动转义斜杠:

[1] pry(main)> t = "test" ; "this is a \\##{t}"
=> "this is a \\#test"

关于ruby - 阻止 Ruby 自动转义字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19210407/

相关文章:

php - 在 PHP 中使用单引号(转义)

JavaScript 从多个引号中转义

latex 转义字符

ruby - Psych YAML 解析包括注释

javascript - AJAX + Rails 的最新技术是什么?

regex - 在Google Analytics(分析)API过滤器中使用逗号时出现问题

c# - 在 ConverterParameter 中使用反斜杠

ruby - 有人可以解释 '&' 在这种情况下如何工作吗?

ruby-on-rails - 如何轻松地从 json 更新属性

ruby-on-rails - 每次我在 Rails 3 上遇到异常时都可以执行一个方法吗?