Substituir palavra em uma StringBuilder

1 resposta
brunorota

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

1 Resposta

Eric_Yuzo
Dá pra usar o método replace:
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);
    			}
Falou...
Criado 14 de setembro de 2010
Ultima resposta 14 de set. de 2010
Respostas 1
Participantes 2