我有一个包含转义字符的字符串:
word = "x\nz"
我希望将其作为x\nz
打印出来。
然而,puts word
给了我:
x
z
如何让puts word
输出x\nz
而不是创建一个新行?
我有一个包含转义字符的字符串:
不,你没有。你有一个包含换行符的字符串。
如何让
puts word
输出x\nz
而不是创建新行?
最简单的方法就是一开始就按照你想要的格式创建字符串:
word = 'x\nz'
# or
word = "x\\nz"
word = word.gsub("\n", '\n')
# or
word.gsub!("\n", '\n')
puts word.inspect
# or
p word
不要这样做!#inspect
不能保证具有任何特定格式。它唯一的要求是返回一个适合调试的可读字符串表示。您永远不应该依赖于#inspect
的内容,您唯一应该依赖的是它是可读的。
#inspect
有什么问题?文档中说:“返回一个带引号的可打印版本的str,其中特殊字符已转义。”这听起来正是OP想要的,也听起来是“格式”的完全合理的定义。您能澄清一下您的反对意见吗? - preferred_anon