String#delete だと、取り除くのは 文字列 ではなく 文字の集合 になります。
"tomato" から冒頭の "tom" を取り除きたいと思っても
tomato = "tomato" #=> "tomato" tomato.delete("tom") #=> "a"
となってしまいます。
文字列 "tom" を取り除くならば、 String#slice! が適切だと思います。ただし破壊的メソッドなので注意する必要があります。
tomato = "tomato" #=> "tomato" tomato.slice!("tom") #=> "tom" tomato #=> "ato"
"tom" を空文字に置き換える、と考えるならば、 String#gsub を使うのも良いです(私が最初に思いついたのはこちらです)
tomato = "tomato" #=> "tomato" tomato.gsub("tom", "") #=> "ato"
2014/08/19 02:12