Fórum Limpando caracteres de uma string #265690
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
Curtir tópico
+ 1Post 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
Gostei + 1
Mais Posts
17/01/2005
Mr Razor
Gostei + 0
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.
Gostei + 0
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.
Gostei + 0
17/01/2005
Josafat
VarString := Stringreplace(quotedstr(varCPF),´.´,´´[rfReplaceAll]);
varCPF := Stringreplace(quotedstr(VarString),´-´,´´[]);
veja se isto resolve depois posta aih...
Gostei + 0
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);
Gostei + 1
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]Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)