[quote=Josemar Jobs]cria o StringBuilder, e considerando que o indice começa de zero, então o ultimo indice, que é do espaço em branco, será 9, mas o size dela será 10
StringBuilder s = new StringBuilder("012345678 ");
aqui insere “abcdef”, depois do ultimo indice do StringBuilder, que é o indice 10
s.insert(10, "abcdef");
e aqui elimina o 3,4,5,6,7 visto que eles estão no intervalo [3,8], e lembrando que ele elimina de 3 até 8-1
s.delete(3,8);
e aqui, simplesmente imprime o indice da primeira ocorrencia da substring passada como argumento
System.out.println(s.indexOf("c"));
Desculpe-me caso eu entendi errado, mas ele não elimina as posições no insert, somente jogas x casas a frente, exemplo:
[code]builder.append(“a”);
builder.append(“b”);
builder.append(“c”);
builder.append(“e”);
int position = builder.indexOf(“e”);
builder.insert(position, “d”);
System.out.println(builder.toString()); // imprime abcde[/code]
Edit: esqueci o que eu disse, total falta de atenção -.-"
Pra não fica devendo também apresento o método replace(), onde é definido da mesma forma que o delete, informando posição de começo e de fim, porém com um argumento a mais que é a String que deve-se ser utilizada no lugar desses caracteres, essa String não precisa ter o mesmo tamanho que a quantidade que vai ser trocada, exemplo:
[code]builder.append(“a”);
builder.append(“b”);
builder.append(“c”);
builder.append(“e”);
builder.replace(1, 3, “0123”);
System.out.println(builder.toString()); // imprime a0123e[/code]
Sorry :~