Dúvida em fazer a troca de caracteres  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
DouglasCar
JavaTeenager

Membro desde: 26/07/2004 11:12:04
Mensagens: 186
Offline

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:
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.>
andrelcvc
HelloWorld

Membro desde: 28/02/2005 13:03:34
Mensagens: 11
Offline

faça com que o for caminhe de dois em dois

for(int i=0;i<ch2.length;i+=2) {
if((ch2[i]=='E')&&(ch2[i+1]=='D')) {
ch2[i]='8';
}
}
[WWW] [MSN] [ICQ]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

E mais uma coisa. Não dá para modificar diretamente os caracteres em uma String, você precisa criar uma nova.



Na linha 2, c é uma cópia do array de caracteres que representa a String s. Não é o próprio array.
Na linha 5, estamos criando uma nova String com os caracteres alterados na linha 3.



[WWW]
DouglasCar
JavaTeenager

Membro desde: 26/07/2004 11:12:04
Mensagens: 186
Offline

Valeu pela dica andrelcvc, vou testar para ver se consigo fazer o que preciso. Abraço!
eduardo_lopes
JavaGuru
[Avatar]

Membro desde: 09/05/2003 10:33:14
Mensagens: 210
Localização: Cascavel - PR
Offline

me digam uma coisa, pq não usar:






DouglasCar
JavaTeenager

Membro desde: 26/07/2004 11:12:04
Mensagens: 186
Offline

Bah, valeu eduardo_lopes, desculpe a minha ignorância. Valeu mesmo cara.
eduardo_lopes
JavaGuru
[Avatar]

Membro desde: 09/05/2003 10:33:14
Mensagens: 210
Localização: Cascavel - PR
Offline

q nada cara, o guj é pra essas coisas!



DouglasCar
JavaTeenager

Membro desde: 26/07/2004 11:12:04
Mensagens: 186
Offline

Pessoal consegui fazer o que queria utilizando o replaceAll, 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"

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.
agnm
Debugger
[Avatar]

Membro desde: 14/01/2005 10:37:18
Mensagens: 64
Offline

use um for e um substring
[MSN] [ICQ]
agnm
Debugger
[Avatar]

Membro desde: 14/01/2005 10:37:18
Mensagens: 64
Offline

e equals
[MSN] [ICQ]
DouglasCar
JavaTeenager

Membro desde: 26/07/2004 11:12:04
Mensagens: 186
Offline

Tenho a seguinte linha de código:


Que no caso de eu digitar "e1e0" me retorna o seguinte resultado:


Mas caso eu queira atribuir a outra variável o valor desta variável continuação tipo:


Me é retornado somente o "8d", como faço para que possa atribuir todo o conteúdo da variável continuação na variável troca_string fora do laço for. Agradeço se alguém puder me dar uma força.
agnm
Debugger
[Avatar]

Membro desde: 14/01/2005 10:37:18
Mensagens: 64
Offline

seria isso ?
[MSN] [ICQ]
agnm
Debugger
[Avatar]

Membro desde: 14/01/2005 10:37:18
Mensagens: 64
Offline

ou iss ?
[Code]
troca_string += continuacao;
System.out.println("troca_string:" + troca_string);
[/Code]
[MSN] [ICQ]
DouglasCar
JavaTeenager

Membro desde: 26/07/2004 11:12:04
Mensagens: 186
Offline

Valeu pela dica agnm e desculpe a ignorância, mas quando o cara é meio inesperiente é assim mesmo, falou.
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team