dúvida com replace

5 respostas
K

Olá…

Tenho a seguinte String: “1.500”

E preciso tira o ponto dela, para isso faço um replace:

string.replace('.', ' ');

Só que a String fica assim: 1 500

Como faço para exibir a String assim: 1500, após retirar o ponto ?

Obrigado!

5 Respostas

T

String s = “1.500,00”;

s = s.replaceAll("\.", “”).replaceAll(",", “.”); // retorna “1500.00”

Ricardo_Siqueira

kurumajava:
Olá…

Tenho a seguinte String: “1.500”

E preciso tira o ponto dela, para isso faço um replace:

string.replace('.', ' ');

Só que a String fica assim: 1 500

Como faço para exibir a String assim: 1500, após retirar o ponto ?

Obrigado!

string.replaceAll(".", “”);

T

Ricardo Siqueira:

string.replaceAll(".", “”);

Pegadinha… se fizer isso, você vai ter uma string vazia. é que “.” em expressões regulares quer dizer “um caracter qualquer”, não “ponto”. Então isso irá trocar todos os caracteres (não somente o ponto) por vazio.

O correto é usar o “replaceAll” com “\.” ou então, se você não gosta de saber as regras exatas para essas coisas chatas de expressões regulares, usar:

replaceAll (Pattern.quote ("."))

que irá transformar “.” em “\Q.\E”, que é uma expressão regular que representa o caracter “ponto”.

Ricardo_Siqueira

thingol:
Ricardo Siqueira:

string.replaceAll(".", “”);

Pegadinha… se fizer isso, você vai ter uma string vazia. é que “.” em expressões regulares quer dizer “um caracter qualquer”, não “ponto”. Então isso irá trocar todos os caracteres (não somente o ponto) por vazio.

O correto é usar o “replaceAll” com “\.” ou então, se você não gosta de saber as regras exatas para essas coisas chatas de expressões regulares, usar:

replaceAll (Pattern.quote ("."))

que irá transformar “.” em “\Q.\E”, que é uma expressão regular que representa o caracter “ponto”.

Vivendo e aprendendo =)

T

Se você já programou um pouco com Perl, ou AWK, já teve sua dose de expressões regulares.

Criado 4 de abril de 2006
Ultima resposta 4 de abr. de 2006
Respostas 5
Participantes 3