Limpando caracteres de uma string
Olá pessoal, tudo bem?
Tenho a seguinte dúvida:
tenho uma string que seu conteúdo é 000.000.000-00, ou seja, um número de CPF, só que preciso tirar os caracteres ponto ( . ) e traço/hífen ( - ). Tentei montar uma função para isso, mas não tive muito sucesso! Existe algum recurso no próprio Delphi para isso? Estou utilizando o Delphi 7 Enterprise.
Obrigado pelas dicas! :-)
Tenho a seguinte dúvida:
tenho uma string que seu conteúdo é 000.000.000-00, ou seja, um número de CPF, só que preciso tirar os caracteres ponto ( . ) e traço/hífen ( - ). Tentei montar uma função para isso, mas não tive muito sucesso! Existe algum recurso no próprio Delphi para isso? Estou utilizando o Delphi 7 Enterprise.
Obrigado pelas dicas! :-)
Jorgeolimpia
Curtidas 1
Melhor post
Marcio.theis
17/01/2005
eu utilizo a seguinte função:
function Remove(str: string):string; var x: integer; st: string; begin st:=´´; for x:=1 to length(str) do begin if (str[x] <> ´-´) and (str[x] <> ´.´) and (str[x] <> ´,´) and (str[x] <> ´/´) then st:=st + str[x]; end; Remove:=st; end;
GOSTEI 1
Mais Respostas
Mr Razor
17/01/2005
edit.clear; :twisted:
GOSTEI 0
Pistesil
17/01/2005
Nao e exatamente oq vc esta procurando, mas talvez possa ajudar
acho q é isso naun testei para ver se funciona.
var temp:string; i:integer; temp:=´´; for i:=1 to length(campo) //campo e a variavel q vc quer remover os . e - begin if ((campo[i]<>´.´) and (campo[i]<>´-´)) then temp:=temp+campo[i]; end; campo:=temp
acho q é isso naun testei para ver se funciona.
GOSTEI 0
Adisson
17/01/2005
Caro Amigo
Se Voce estiver usando o componente MaskEdit e queira tirar esses caracteres apenas na atribuições basta ir na propriedade ´EditMask´ e desmarcar a Opção ´Save Literal Caracteres.
Se Voce estiver usando o componente MaskEdit e queira tirar esses caracteres apenas na atribuições basta ir na propriedade ´EditMask´ e desmarcar a Opção ´Save Literal Caracteres.
GOSTEI 0
Josafat
17/01/2005
vc poderia utilizar o stringreplace assim:
VarString := Stringreplace(quotedstr(varCPF),´.´,´´[rfReplaceAll]);
varCPF := Stringreplace(quotedstr(VarString),´-´,´´[]);
veja se isto resolve depois posta aih...
VarString := Stringreplace(quotedstr(varCPF),´.´,´´[rfReplaceAll]);
varCPF := Stringreplace(quotedstr(VarString),´-´,´´[]);
veja se isto resolve depois posta aih...
GOSTEI 0
Emerson Nascimento
17/01/2005
você pode criar uma função para isso:
function RetiraSujeiras(Sujeiras, Texto: string): string;
var
    i: integer;
begin
    Result := ´´;
    if Texto = ´´ then exit;
    for i := 1 to Length(Texto) do
        if Pos(Texto[i],Sujeiras)=0 then
            Result := Result + Texto[i];
end;
a sintaxe seria:
Resultado := RetiraSujeiras(´ ./-´,CampoComCNPJ);
Resultado := RetiraSujeiras(´() .´,CampoComTelefone);
Resultado := RetiraSujeiras(´ .{}-´,CampoComInscEst);
function RetiraSujeiras(Sujeiras, Texto: string): string;
var
    i: integer;
begin
    Result := ´´;
    if Texto = ´´ then exit;
    for i := 1 to Length(Texto) do
        if Pos(Texto[i],Sujeiras)=0 then
            Result := Result + Texto[i];
end;
a sintaxe seria:
Resultado := RetiraSujeiras(´ ./-´,CampoComCNPJ);
Resultado := RetiraSujeiras(´() .´,CampoComTelefone);
Resultado := RetiraSujeiras(´ .{}-´,CampoComInscEst);
GOSTEI 1
Anderson Souza
17/01/2005
Olá pessoal, tudo bem?
Tenho a seguinte dúvida:
tenho uma string que seu conteúdo é 000.000.000-00, ou seja, um número de CPF, só que preciso tirar os caracteres ponto ( . ) e traço/hífen ( - ). Tentei montar uma função para isso, mas não tive muito sucesso! Existe algum recurso no próprio Delphi para isso? Estou utilizando o Delphi 7 Enterprise.
Obrigado pelas dicas! :-)
Tenho a seguinte dúvida:
tenho uma string que seu conteúdo é 000.000.000-00, ou seja, um número de CPF, só que preciso tirar os caracteres ponto ( . ) e traço/hífen ( - ). Tentei montar uma função para isso, mas não tive muito sucesso! Existe algum recurso no próprio Delphi para isso? Estou utilizando o Delphi 7 Enterprise.
Obrigado pelas dicas! :-)
Boa noite tenho uma função que criei para limpar os caracteres.
function TUDMDados.LimpaCaracter(Valor: string): String; var i,j,posicao, tamanho :integer; r, vlr, resultado : string; begin posicao := 1; r := Valor; tamanho := Length(Valor); if Valor <>'' then begin for i := 1 to tamanho do if ((Valor[i] = '0') or (Valor[i] = '1') or (Valor[i] = '2') or (Valor[i] = '3') or (Valor[i] = '4') or (Valor[i] = '5') or (Valor[i] = '6') or (Valor[i] = '7') or (Valor[i] = '8') or (Valor[i] = '9')) then begin vlr := vlr + copy(valor,i,posicao); end else begin vlr := vlr; end; end; Result := vlr; end;[code=delphi]
GOSTEI 0