我想删除大括号,所以“{test}”变成“test”。我试过
"{test}".gsub(/\{(.*)\}/,$1)
while "{test}".gsub!(/(\{).*(\})/,""); end
"{test}".gsub(/\{.*\}/,"")
似乎没有任何效果。
你必须使用\1
,而不是$1
"{test}".gsub /\{(.*)\}/, '\1'
或者,如果您只想删除所有花括号:
"{test}".delete "{}"
我假设您想从给定语句中删除所有大括号。在这种情况下,请尝试
"{test}".gsub(/\{|\}/, '') => "test"
另一方面,如果您想从开头或手上删除大括号,您也许可以使用基于非正则表达式的方式来完成
您可以使用删除功能。
static VALUE
rb_str_delete(int argc, VALUE *argv, VALUE str)
{
str = rb_str_dup(str);
rb_str_delete_bang(argc, argv, str);
return str;
}
example:
"hello".delete "l" =>"heo"
尝试使用字符串#tr
> "{test}".tr '{}', ''
#=> "test"