【发布时间】:2022-01-17 19:12:56
【问题描述】:
我需要创建一个带有该值的列的数据库记录
query = "booster pro 12\24 v"
但这是存储在 db 列中的内容。
"booster pro 12\u0014 v"
如果我尝试使用单引号,我会得到
'booster pro 12\24 v' -> "booster pro 12\\24 v"
但如果我使用它,我会打印出正确的字符串。
puts 'booster 12\24 v' -> booster 12\24 v
【问题讨论】:
-
“如果我使用它,我会打印出正确的字符串”——那是因为你找到了正确的解决方案。反斜杠是转义字符。在双引号字符串中,您必须使用另一个反斜杠(或使用单引号)转义文字反斜杠。请参阅string literals 的文档。
-
顺便说一句,
"\24"被解释为"\024",即 八进制 数字 024,十进制为 20,十六进制为 0x14。因此"\24" == "\u0014"
标签: ruby