Substituir palavra em uma StringBuilder

Olá galera

Eu tenho um texto que está em uma StringBuilder, eu localizo uma palavra dentro dele e modifico esse texto

exemplo


StringBuilder text = new StringBuilder("");
Pattern p = Pattern.compile("rota");
		Matcher m = p.matcher(text);
		
		boolean b = false;
		
		while(b = m.find()){
			System.out.println(m.start());
		}

Faz de conta que minha StringBuilder tenha o seguinte texto

bruno rota sargi

Com o código de cima eu acho o valor rota, gostaria de trocar esse valor “rota” por “cachorro” por exemplo

Como eu faria isso?

Atenciosamente

Dá pra usar o método replace:

[code]StringBuilder text = new StringBuilder(“minha string builder”);
//Strings para substituir.
String substituir = “string”;
String novaString = “outra coisa”;
Pattern p = Pattern.compile(substituir);
Matcher m = p.matcher(text);

			boolean b = false;
			
			while(b = m.find()){
				//exibe texto original.
				System.out.println(text);
				//Guarda os índices do texto a ser trocado.
				int indiceInicial = m.start();
				int indiceFinal = indiceInicial + substituir.length();
				//Método que substitui.
				text.replace(indiceInicial, indiceFinal, novaString);
				//Exibe a nova string.
				System.out.println(text);
			}[/code]

Falou…