Para manipular substrings contidas em uma StringBuilder, usamos alguns dos métodos fornecidos
por sua classe, mostrados nas sintaxes logo abaixo, que lidam com busca e substituição:
Sintaxe
int indexOf(String str)
String substring(int start, int end)
StringBuilder replace(int start, int end, String str)
Onde
str: string para busca, inserção ou substituição
start: índice inicial
end: índice final
No exemplo abaixo, recuperamos o índice de uma substring com o método indexOf:
Exemplo 6
public class Main
{
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("uma");
sb.append("string");
sb.append("qualquer");
System.out.println(sb.indexOf("string")); //buscar substring
}
}
Saída
3
Com o método substring, podemos recuperar uma substring em um determinado local
informando o índice inicial e final.
Exemplo 7
public class Main
{
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("uma");
sb.append("string");
sb.append("qualquer");
System.out.println(sb.substring(3,9));
}
}
Saída
3
O métodod replace nos permite substituir uma substring informando em seus argumentos o
índice inicial, final e também a substring para substituição.
Exemplo 8
public class Main
{
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("uma");
sb.append("string");
sb.append("qualquer");
System.out.println(sb.replace(3,9, "STRING"));
}
}
Saída
umaSTRINGqualquer