1

所以从这个字符串:

str = 'Hello #{name}, you are now #{age}.'

我想得到

"Hello <%= name %>, you are now <%= age =>"

我试过这个:

str.gsub(/\#{*}/, "<%= \1 %>")

但我这行不通。

4

1 回答 1

4

要捕获组,您必须用括号括住该部分。

str = 'Hello #{name}, you are now #{age}.'
str.gsub(/#\{(.*?)\}/, '<%= \1 %>')
# => "Hello <%= name %>, you are now <%= age %>."

而且,你必须逃避{,,}而不是#。( {,}在正则表达式中有特殊含义,while#没有)。

于 2013-09-03T08:01:45.550 回答