Java初学者です。今、文字列操作で悩んでいます。
例えば、文字列"abcdef"のbcdをXXXに置換するスマートな方法はありますでしょうか?

String str = "XXX";
StringBuffer buff = new StringBuffer("abcdef");
buff.replace(2, 4, str);

理想としては、buffに"bcd"が存在する場合、"XXX"に置換する。なのですが。
2とか4とか書くのが嫌なんです。