我想刪除大括號,以便「{test}」變爲「test」。 我試過在Ruby中刪除大括號
"{test}".gsub(/\{(.*)\}/,$1)
while "{test}".gsub!(/(\{).*(\})/,""); end
"{test}".gsub(/\{.*\}/,"")
沒有什麼似乎工作。
我想刪除大括號,以便「{test}」變爲「test」。 我試過在Ruby中刪除大括號
"{test}".gsub(/\{(.*)\}/,$1)
while "{test}".gsub!(/(\{).*(\})/,""); end
"{test}".gsub(/\{.*\}/,"")
沒有什麼似乎工作。
你必須使用\1
,不$1
"{test}".gsub /\{(.*)\}/, '\1'
或者,如果你只是想刪除所有大括號:
"{test}".delete "{}"
我假設你要刪除所有大括號一個給定的陳述。在這種情況下,請儘量
"{test}".gsub(/\{|\}/, '') => "test"
在另一方面,如果你想從一開始,或者你也許可以做到這一點使用基於非正則表達式的方式
你可以使用delete手取出大括號功能。
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"
嘗試用String#tr
> "{test}".tr '{}', ''
#=> "test"
「{}測試」 GSUB(/ \ {| \} /, '')。 – Naveed
感謝您的指正! – sohaibbbhatti