正则表达式匹配双引号

时间:2016-01-13 07:20:11

标签: ruby regex rubular

我的输入字符串是:

"& is here "& is here also, & has again occured""

在Ruby语言中使用gsub方法,有没有办法替换字符&&'如果gsub方法没有解决这个问题,那么在带有字符' $'的双引号中出现,是否有其他方法可用于解决此问题。

由于gsub方法中的第一个争论可以是正则表达式,因此匹配的正则表达式将被第二个争论所取代,获得正确的正则表达式也可以解决这个问题,因为它可以在gsub方法中替换&#39 ;&安培;'与' $'。

预期输出如下所示:

& is here "$ is here also , $ has again occured"

1 个答案:

答案 0 :(得分:1)

str = %q{& is here "& is here also , & has again occured"}
str.gsub!(/".*?"/) do |substr|
  substr.gsub(/&/, '$')
end
puts str
# => & is here "$ is here also , $ has again occured"

编辑:刚才注意到stribizhev在我写这篇文章之前提出了这种方式。