如何删除给定子字符串的第一个出现?
我有:
phrase = "foobarfoo"
,当我打电话时:
phrase.some_method_i_dont_know_yet ("foo")
我希望短语看起来像barfoo
。
我尝试使用delete
和slice
,但第一次删除所有匹配项,但第二次只返回切片。
答案 0 :(得分:13)
使用sub!
替换您要查找的内容“”(无),从而将其删除:
phrase.sub!("foo", "")
最后的!(爆炸)使它永久化。 sub
与gsub
不同,sub
只替换您要查找的字符串的第一个实例,而gsub
找到所有实例。
答案 1 :(得分:1)
sub
会做你想要的。 gsub
是您可能已经熟悉的全球版本。
答案 2 :(得分:0)
使用String#[]
方法:
phrase["foo"] = ""
为了进行比较,在我的系统中,该解决方案比String#sub!
快17%