Limpando caracteres de uma string

17/01/2005

0

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! :-)


Jorgeolimpia

Jorgeolimpia

Responder

Post mais votado

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;



Marcio.theis

Marcio.theis
Responder

Mais Posts

17/01/2005

Mr Razor

edit.clear; :twisted:


Responder

17/01/2005

Pistesil

Nao e exatamente oq vc esta procurando, mas talvez possa ajudar

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.


Responder

17/01/2005

Adisson

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.


Responder

17/01/2005

Josafat

vc poderia utilizar o stringreplace assim:

VarString := Stringreplace(quotedstr(varCPF),´.´,´´[rfReplaceAll]);
varCPF := Stringreplace(quotedstr(VarString),´-´,´´[]);

veja se isto resolve depois posta aih...


Responder

17/01/2005

Emerson Nascimento

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);


Responder

19/04/2020

Anderson Souza

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! :-)



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]
[/code]

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar