Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DouglasCar

em fazer troca de caracteres em uma string

Recommended Posts

Pessoal tenho o seguinte problema, no programa que estou fazendo preciso verificar a string digitada pelo usuário e fazer a troca de certos caracteres especiais por outros que irei indicar. Ocorre que preciso verificar na string de 2 em 2 caracteres para que eu possa por exemplo trocar ED por 80. Para verificar uma a uma eu tenho o seguinte código:

String suaString2=Instrutor;  char[] ch2 =suaString2.toCharArray(); for(int i=0;i<ch2.length;i++) {       if(ch2[i]=='á') {              ch2[i]='a';       }      if(ch2[i]=='Á') {              ch2[i]='A';       } }
Acontece que como mencionei preciso verificar a string de 2 em 2 caracteres e quando encontrar os dois que procuro, preciso substituir por outros dois. Agradeço se alguém puder me dar uma força.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi!!

Será q a função replaceAll não resolve teu problema???

String suaString2=Instrutor;suaString2 = suaString2.replaceAll("ED","80");
Essa função retorna uma String....

Espero q ajude...

 

Dani

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Dani, consegui fazer o que queria utilizando o replaceAll como me indicastes, acontece que da maneira como estou fazendo ele percorre a string a procura dos caracteres que estou informando, mas sem importar a posição onde se encontram. Preciso que ele faça esta busca de 2 em 2 elementos. Alguém poderia me dizer como posso fazer isto. No exemplo abaixo quero que ele troque os caracteres "ef" por "ab"

String var = "efaefa";var1 = var.replaceAll("ef","ab");var1 = "abaaba"
O que gostaria que o programa fizesse era trocar somente de 2 em 2 caracteres. A string deveria ter ficado "abaefa" e não "abaaba". Agradeço se alguém puder me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Talvez seja isso, então???

String pal = "efaefa";int ix=0;String fim = "";while(ix != pal.length()){    if(pal.substring(ix,ix+2).compareTo("ef")==0)         fim = fim + "ab";    else        fim = fim + pal.substring(ix,ix+2);    ix += 2;}

Dani

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.