rubyのString.deleteメソッド

文字列中から特定文字列を削除したくてdeleteメソッド使ってみたんだけど、思っていたのと挙動が違った。

以下を実行すると

fileNm = "03-example.mp3"
p fileNm.delete(".mp3")

こうなる。

"0-exale"

deleteメソッドは1文字ずつの判定になっていて、"."と"m"と"p"と"3"それぞれが削除されてしまった。
".mp3"を削除したかったので、以下のように正規表現を使う方法にした。

p fileNm.sub(/\.mp3/, "")