我想刪除一個字符串的子緩存每到這個子occures時間的字符串緩衝區刪除子,我做了什麼至今:從使用Java
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行的錯誤。 任何想法?
你有沒有考慮過使用String#replaceAll(String old,String new「)?text.replaceAll(」Alice「,」 「); – 2012-04-12 19:29:15
什麼時候'strbuf'會被'null'?你的while循環會永遠持續下去。 – Danny 2012-04-12 19:32:43