我只是想知道是否有任何方法从另一个字符串中删除字符串?像这样的东西:
class String
  def remove(s)
    self[s.length, self.length - s.length]
  end
end
Pet*_*ete 254
您可以使用切片方法:
a = "foobar"
a.slice! "foo"
=> "foo"
a
=> "bar"
有一个非'!' 版本也是.更多信息也可以在关于其他版本的文档中看到:http: //www.ruby-doc.org/core/classes/String.html#M001213
Wai*_*... 101
如果它是字符串的结尾,您还可以使用chomp:
"hello".chomp("llo")     #=> "he"
the*_*Man 42
如果您只有一次出现的目标字符串,则可以使用:
str[target] = ''
要么
str.sub(target, '')
如果您有多次目标使用:
str.gsub(target, '')
例如:
asdf = 'foo bar'
asdf['bar'] = ''
asdf #=> "foo "
asdf = 'foo bar'
asdf.sub('bar', '') #=> "foo "
asdf = asdf + asdf #=> "foo barfoo bar"
asdf.gsub('bar', '') #=> "foo foo "
如果你需要做的就地替换使用"!"的版本gsub!和sub!.
Igo*_*dov 16
如果您的子字符串位于字符串末尾的开头,那么Ruby 2.5已经为此引入了以下方法:
| 归档时间: | 
 | 
| 查看次数: | 218859 次 | 
| 最近记录: |