我正在尝试使用gsub方法将电子邮件的所有字母数字字符替换为'#'字符,但是Ruby在'@'字符之前插入了反斜杠。

例如:
"[email protected]".gsub(/[a-z0-9]/, "#")返回"###\#@###.###"而不是"####@###.###"

最佳答案

它按预期返回"####@###.###",尝试执行以下操作:

puts "[email protected]".gsub(/[a-z0-9]/, "#")

您在IRB/Pry中看到的是防止#@解释为字符串插值。

另请在下面引用@Stefan的非常有值(value)的评论。

关于ruby - gsub更换不当,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38921516/

10-14 01:39