【问题标题】:is it possible to escape character within single quotes in ruby?是否可以在 ruby​​ 的单引号内转义字符?
【发布时间】:2014-10-19 09:05:42
【问题描述】:

我刚刚在面试中遇到了这个问题。是否可以在 ruby​​ 中转义单引号内的字符?

混淆在下面的代码中

puts '\\'   # Output: \
puts '\n'   # Output: \n

似乎反斜杠被转义了,但换行符没有。

我知道this question,但我不是在问单引号和双引号之间的区别。我在问是否可以在单引号中转义字符?为什么只允许反斜杠转义?

【问题讨论】:

  • 预期的形式是什么?
  • @sawa 大多数书籍/参考资料都说 diff b/w 双引号和单引号是单引号中没有字符转义......但似乎 '\\' 被转义了.所以我猜大多数参考文献都是错误的......

标签: ruby escaping special-characters quotes


【解决方案1】:

在单引号字符串中唯一需要转义的字符是'\\'(用于反斜杠\)和'\''(用于单引号'本身)。

【讨论】:

  • 还有'\1'、'\2'等调用Regexp匹配数组,我相信。
  • thanx for the answer...所以没有其他方法可以转义单引号中的其他字符吗?
  • @UandI 我不这么认为。
  • @sawa 我的意思是,当您替换第一个参数中给出的匹配项时,您还可以使用 \ 来获取 sub、gsub 中的第一个、第二个 ..match 字符串,也许还有 tr .
  • @styd 这个问题/答案是关于需要转义的内容。这与如何使用反斜杠无关(转义除外)。你的评论脱离了上下文。而且您的“也”措辞与您后面的评论相矛盾。
猜你喜欢
  • 2011-10-06
  • 2021-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-02
相关资源
最近更新 更多