我想删除大括号,以便“{test}”成为“test”。 我试过了
"{test}".gsub(/\{(.*)\}/,$1)
while "{test}".gsub!(/(\{).*(\})/,""); end
"{test}".gsub(/\{.*\}/,"")
似乎没什么用。
答案 0 :(得分:10)
您必须使用\1
,而不是$1
"{test}".gsub /\{(.*)\}/, '\1'
或者,如果您只想删除所有大括号:
"{test}".delete "{}"
答案 1 :(得分:2)
我假设您要删除给定语句中的所有花括号。在这种情况下,请尝试
"{test}".gsub(/\{|\}/, '') => "test"
另一方面,如果你想从开头或手上删除花括号,你可以使用非正则表达式的方式来执行它
答案 2 :(得分:1)
您可以使用删除功能。
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"
答案 3 :(得分:0)
尝试 String#tr
> "{test}".tr '{}', ''
#=> "test"