この部分文字列が発生するたびに、文字列バッファーから部分文字列を削除したいのですが、これまでに行ったことは次のとおりです。
public static void main(String[] args) {
String text = "Alice Bob Alice Bob Alice Bob";
String substr = "Alice";
StringBuffer strbuf = new StringBuffer(text);
strbuf.indexOf(substr);
strbuf.lastIndexOf(substr);
while (strbuf != null) {
strbuf.delete(strbuf.indexOf(substr), strbuf.indexOf(substr) + substr.length());
System.out.println(strbuf.toString());
}
}
「アリス」をすべて削除したい。しかし、次のエラーが発生します。
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
while行のエラーだと思います。何か案は?