Java:从 StringBuilder 中删除 String

2022-09-04 20:09:02

我想从StringBuilder中删除String

String aaa = "sample";
String bbb = "sample2";
String ccc = "sample3";

在另一部分中

StringBuilder ddd = new StringBuilder();
ddd.append(aaa);
ddd.append(bbb);
ddd.append(ccc);

我想检查StringBuilder ddd是否包含String aaa并将其删除

if (ddd.toString().contains(aaa)) {
    //Remove String aaa from StringBuilder ddd
}

这可能吗?或者有没有其他方法可以做到这一点?


答案 1

试试这个

    int i = ddd.indexOf(aaa);
    if (i != -1) {
        ddd.delete(i, i + aaa.length());
    }

答案 2

试试这个

public void delete(StringBuilder sb, String s) {
    int start = sb.indexOf(s);
    if(start < 0)
        return;

    sb.delete(start, start + s.length());
}