Skip to main content

PEX - Remover Caracteres e Manter Somente Números

Abaixo veremos comandos de evento PEX para extrair de qualquer string somente os números, ou seja, poderá atender a diversos casos como exemplo:

  • Remoção de caracteres especiais de telefones, mantendo somente os números.
  • Remoção de caracteres especiais de CPF/CPNJ, mantendo somente os números.
  • Seleção do numero do endereço, em caso de campos onde o número é digitado junto ao nome da rua.
  • Tratamento para CEP, Placas e outros mantendo somente os números.

Exemplo de procedure:

const aiAtividadeAtual : Integer; aoFormularios : TJSONObject; const aoVariaveis : TVariaveisEventoFormulario; const aoMensagem : TJSONObject); var Ind : Integer; Result : String; begin Result := ''; FOR Ind := 1 to Length('TESTE123teste - evento 1 - PeX') do begin if TSTR.of_TemNumero(Copy('TESTE123teste - evento 1 - PeX',Ind,1)) then begin Result := Result + Copy('TESTE123teste - evento 1 - PeX', Ind, 1); end; end; end;
String = 'TESTE123teste - evento 1 - PeX'
Result = '1231'

Explicação do código:

Vamos utilizar apenas 2 variáveis, uma para índice do tipo inteiro e outra para o nosso resultado do tipo String.

No primeiro momento, limpamos por garantia a variável Result para começar a receber os dados, após iniciamos nosso FOR estabelecendo que o índice (Ind) começará de 1 ou seja, do primeiro caractere, e percorrerá até o Length da nossa string ou seja, até seu comprimento total (no nosso exemplo = 13).