使用Ruby和gsub替换字符串中大括号内的文本(包括括号本身)

时间:2011-06-29 12:44:27

标签: ruby regex

我有一个字符串“这是我的{foo}字符串”。

我想用一些被操纵的值替换大括号的内容,例如:

“这是我的FOO字符串”

我到目前为止:

result = mystring.gsub(/\{(.*?)\}/){|m| m.upcase}

但是这会返回“这是我的{FOO}字符串” - 即大括号仍在那里。

如何对正则表达式进行短语,以便替换大括号?

1 个答案:

答案 0 :(得分:4)

产生的字符串是整个匹配,因此它包括大括号。由于您只想使用第一个捕获组中的部件,因此您可以在块中使用$1而不是m