Preciso transformar o string 1.500,00 em 150000 e então tentei o método abaixo, porém em teste1 ele devolve “”
Como eu faço essa transformação e por que as instruções abaio não funcionam?
Obs estou usando a versao 1.4.2.
String teste = “1.500,00”; String teste1= teste.replaceAll(".", “”);
replaceAll recebe uma expressao regular no primeiro parametro, e “.” eh uma expressao regular que quer dizer “qualquer caractere”. Se voce quiser fazer desse jeito, precisa falar pro Java ignorar aquele ponto:
String s = "1,500.00";
String s1 = s.replaceAll("\.|,", "");
Marques
cv,
Como vc costuma fazer isso? Existe outra forma mais elegante?
[]s,
Marques
cv1
Nao, essa eh a maneira mais simples/elegante que eu conheco… (em compensacao, existem mais ou menos 5000000 jeitos de fazer isso ficar horrivel, usando StringTokenizer e/ou iterando sobre os caracteres na unha, ou combinacoes de ambos…)
Marques
Falow cv,
Brigadão mesmo!!!
T
thingol
No Java 5.0 tem um cara chamado Pattern.quote, que é feito para esses casos chatos de ter de efetuar o “escape” de todos os caracteres especiais.
(E para o Java 1.3, que volta e meia tenho de usar (iPlanet, Websphere etc.) tenho um método utilitário, que faz exatamente pelo método horrível de ficar usando indexOf e outras coisas mais chatas.)
Guilherme_Silveira
lembrando que “.” na expressao regular quer dizer qualquer coisa, por isso virou tudo vazio