Stringの部分文字列の削除

String内をパターンマッチではなく、部分文字列を指定して削除したいことがある。Rubyでどう書けばいいのかわからない。
Stringクラスでそれっぽいメソッドは「削除(delete)」、「置換(sub,gsub)」があるのだが、これらはパターンマッチで対象を指定しないといけない。
結局以下のようなコードで動作したのだが、ダサい。他に方法はあるのだろうか。

s = 'abcdedcba' #元の文字列
d = 'abcd'      #削除したい文字列
s[d] = '' if  s.include?(d) # => 'edcba'