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?
Usar replaceAll para várias letras
8 Respostas
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);
String texto = “abcdefghij”;
texto = texto.replaceAll ("(?i)(a|b|c)", “x”);
System.out.println (texto);
Resultado “xxxdefghij”
Seria isso ?
Dá um exemplo ai do que exatamente vc está querendo fazer!
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.
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");
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
E sem o Jakarta Commons tambem:
"123456789".replaceAll("1234","")
Valeu pessoal. Deu certo aqui.