Replace varios valores

12 respostas
G

Alguem sabe como eu consigo por exemplo : [CPF removido]
dar um replace nesse valor retirando os pontos e o traço, mas em um so replace

12 Respostas

Guilherme_Silveira

novoVal = suaString.replaceAll("[-\.]","");

acho que eh o suficiente. veja a documentacao da classe Pattern

G

e pra fazer isso em select no banco MySQL

T

Não recomendaria fazer esse tipo de transformação diretamente no banco de dados. Isso vai amarrar você ao MySQL; quando você precisar adaptar o seu sistema para um outro banco de dados, aí você vai ter problemas.
Deixe isso para o Java fazer.

G

mas a minha necessidade agora é fazer isso no banco de dados diretamente !!!

Tem solução para isso ??

T

Deve ter, vá até http://dev.mysql.com e leia o manual :wink:
Brincadeirinha; deve ter um jeito sim, mas não sei lhe dizer sem ler o manual.

Guilherme_Silveira

faz um programa em java que conecta com o banco e faz isso la no banco

G

como assim fazer isso la no banco ?

eu quero uma maneira de fazer isso no select .

T

Se você tivesse procurado no dev.mysql.com, já tinha resolvido o problema. Agora é com você. Já dei a URL e o que você tem de procurar nessa página, agora use a cabeça.

http://dev.mysql.com/doc/mysql/en/string-functions.html

mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');
        -> 'WwWwWw.mysql.com'

This function is multi-byte safe.
G

Pera ai isso eu já sei fazer , voce que nao esta entendendo o que eu quero fazer.

Por exempo : 00.000.000-01

nesse exemplo acima quero dar um replace no ponto(.) e no traço(-) para um ‘’ (espaço em branco), mais isso com select direto no banco.

Entendeu agora, ou vou ter que explicar melhor…

Obs: o comando replaceAll faz isso , so que nao tem esse comando no banco de dados, porisso tem que ser replace.

T

Seu :twisted:, mas o comando que lhe passei é o do SQL, não o do Java!
Use um pouco a cabeça e leia a página com mais atenção.

G

Porra to falando em dar replace em dois caracteres diferentes ao mesmo tempo!!!

T

Por isso é que falei para usar a cabeça.

Se você precisa fazer o replace de 2 caracteres diferentes ao mesmo tempo, mas você tem uma função que só faz de um de cada vez, então use a função duas vezes seguidas.

Exemplo (agora vou dar um exemplo do Java, não do SQL, mas a idéia é igualzinha):

String s = "abcdef12345";
s = s.replace ('e', 'E').replace ('d', 'D');

Use a mesma idéia no SQL (mas deixo isso por sua conta, já que acho que você é uma pessoa inteligente e sabe se virar sozinho.).

Criado 19 de agosto de 2005
Ultima resposta 19 de ago. de 2005
Respostas 12
Participantes 3