Ruby中有正则表达式删除吗?

Mr.*_*ael 11 ruby regex string gsub ruby-1.9

使用正则表达式的所有字符串删除都使用gsub,是否有更短的方法? string.gsub(/\A.*\//,'')

Dig*_*oss 5

您可以改为指定要保留的字符串部分...

string[/[^\/]*$/]
Run Code Online (Sandbox Code Playgroud)


joe*_*son 5

一种方法是添加自己的简短方法:

class String

  def del(regexp)
    gsub(regexp,'')
  end

  def del!(regexp)
    gsub!(regexp,'')
  end

end
Run Code Online (Sandbox Code Playgroud)

通常,此代码将放在lib /目录中,例如lib/string-extensions.rb

抬头说一些程序员真的不喜欢这个,因为它是猴子修补.我个人喜欢它的项目,因为它使代码更容易理解 - 一旦我有"del"方法,我可以很快看到它的调用只是删除正则表达式.