Manipulação de Strings

5 respostas
Dani_RS

Oi, pessoal!

Como faço para substituir um caractere em uma string?

Exemplo:
Tenho a string “0123456”, leio um int de 0 a 6, que representa a posição do caractere na string e o substituo por um outro caractere qualquer. Tem como fazer isso? :x

Obrigada a quem puder ajudar!

5 Respostas

danielbussade

Olá existe o metodo replace da classe String, mas não tem como especificar o índice.O método é o seguinte:

teste.replace(oldChar, newChar)

Do jeito que você quer acho que a melhor maneira é fazer assim:

public class Principal {
	public static void main(String[] args) {
		String teste = "0123456";
		char[] vet;
		vet = teste.toCharArray(); //transforma em um vetor de char
		for (int i = 0; i < teste.length(); i++) {
			
			vet[i]='caraceter_que_quiser';
		

		}

	}

}

Espero ter ajudado!!

Att

Dani_RS

Oi, daniel!

Ajudou sim \o/!
Sem querer abusar, o uso do vetor é obrigatório nesse caso?
Tem alguma forma de fazer a substituição sem usá-lo?

Obrigada!

danielbussade

Olá danie como te falei existe o método:

replace(oldchar,newchar);

Mas não tem como especificar o indice, por exemplo se estiver a string teste=“daniii”.
E você fizer teste=teste.replace(i,e);
O resultado sera daneee, mas e se você quisesse só modificar o último i?
Eu acho que sem o vetor não dá pra fazer, não tenho certeza.
Qualquer dúvida eh so postar.

Valeu!

Dani_RS

Hmm… entendi…
É que ainda não aprendi vetores :wink:
Mas vou dar uma estudada e tentar implementar usando ele.

Tks!

danielbussade

Dê uma olhada aqui: http://www.guj.com.br/posts/list/41148.java#219170

Acho que vai te ajudar!
Att

Criado 27 de outubro de 2007
Ultima resposta 27 de out. de 2007
Respostas 5
Participantes 2