Usar replaceAll para várias letras

8 respostas
P

Pessoal preciso de um modo de trocar várias letras por outras em um string.
Tentei usar um replaceAll() mas ele só troca letra por letra e não um conjunto de letras em um string.
Alguém tem alguma dica?

8 Respostas

Marcel_Horner

Nao entendi a sua duvida. O codigo abaixo imprime “abc123ghij” e depois “abcdefghij”. Nao era isso que vc queria?

String str = "abc123ghij"; System.out.println(str); str = str.replaceAll("123","def"); System.out.println(str);

amilhoranza
String texto = abcdefghij;

texto = texto.replaceAll ("(?i)(a|b|c)", x);

System.out.println (texto);

Resultado “xxxdefghij”

Seria isso ?

cassio

Dá um exemplo ai do que exatamente vc está querendo fazer!

P

Cara quando eu passo mais de uma letra para replaceAll() ele não faz a troca de letras.
Testei os exemplos de vcs e não deram certo.

Marcel_Horner

Lembre-se que ao executar o replaceAll() vc recebe uma nova String com as alteracoes, a String que chamou o replaceAll() nao eh modificada.

O codigo abaixo ira imprimir 2x abc123ghij:

String str = "abc123ghij"; System.out.println(str); str.replaceAll("123","def"); System.out.println(str);
Para que str seja modificada com o novo valor eh necessaria a atribuicao:

str = str.replaceAll("123","def");

Bravox

Jakarta commons !!!

http://jakarta.apache.org/commons/lang/api-2.0/index.html

da para fazer o que vc quer com uma linha de codigo !!

StringUtils.replaceChars("123456789","1234", "")

bravox

Marcel_Horner

E sem o Jakarta Commons tambem:

"123456789".replaceAll("1234","")
P

Valeu pessoal. Deu certo aqui.

Criado 22 de agosto de 2006
Ultima resposta 22 de ago. de 2006
Respostas 8
Participantes 5