为什么这个rails正则表达式不起作用?

时间:2013-05-16 16:09:40

标签: ruby regex

[28] pry(main)> a
=> "\\r\\np"
[30] pry(main)> a.gsub('\\\\','\\')
=> "\\r\\np"

它应该已经返回:

"\r\np"

..或者至少我希望它能归还......

1 个答案:

答案 0 :(得分:4)

因为a在任何时候都不包含两个反斜杠。 a由以下五个字符组成:

  • \
  • r
  • \
  • n
  • p

当你要求pry检查它时,它必须显示每个文字\的转义\个字符;如果您运行puts a,则会看到\r\np

如果要编辑字符串以包含回车符和换行符的控制代码,您可能需要:

a.gsub('\\r', "\r").gsub('\\n', "\n")