Limpando caracteres de uma string
17/01/2005
0
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
Post mais votado
17/01/2005
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;
Marcio.theis
Mais Posts
17/01/2005
Pistesil
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.
17/01/2005
Adisson
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.
17/01/2005
Josafat
VarString := Stringreplace(quotedstr(varCPF),´.´,´´[rfReplaceAll]);
varCPF := Stringreplace(quotedstr(VarString),´-´,´´[]);
veja se isto resolve depois posta aih...
17/01/2005
Emerson Nascimento
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);
19/04/2020
Anderson Souza
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]
Clique aqui para fazer login e interagir na Comunidade :)