【发布时间】:2011-06-29 12:44:27
【问题描述】:
我有一个字符串“这是我的 {foo} 字符串”。
我想用一些操纵值替换大括号的内容,例如:
“这是我的 FOO 字符串”
我已经走到这一步了:
result = mystring.gsub(/\{(.*?)\}/){|m| m.upcase}
但这会返回“这是我的 {FOO} 字符串”——即大括号仍然存在。
如何表达我的正则表达式,以便同时替换大括号?
【问题讨论】:
我有一个字符串“这是我的 {foo} 字符串”。
我想用一些操纵值替换大括号的内容,例如:
“这是我的 FOO 字符串”
我已经走到这一步了:
result = mystring.gsub(/\{(.*?)\}/){|m| m.upcase}
但这会返回“这是我的 {FOO} 字符串”——即大括号仍然存在。
如何表达我的正则表达式,以便同时替换大括号?
【问题讨论】:
产生的字符串是整个匹配,所以它包括大括号。由于您只想处理第一个捕获组中的部分,因此您可以在块中使用$1 而不是m。
【讨论】: