DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como pegar somente os números de uma String?

Função que recupera só os números contidos em uma string.

Em versões unicode é necessário declarar System.SysUtils.

Segue o código fonte da função:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function GetStrNumber(const S: string): string;
var
  vText : PChar;
begin
  vText := PChar(S);
  Result := '';
 
  while (vText^ <> #0) do
  begin
    {$IFDEF UNICODE}
    if CharInSet(vText^, ['0'..'9']) then
    {$ELSE}
    if vText^ in ['0'..'9'] then
    {$ENDIF}
      Result := Result + vText^;
 
    Inc(vText);
  end;
end;

Exemplo de uso:

1
2
3
4
5
6
7
procedure TForm1.Button1Click(Sender: TObject);
begin
  // vai mostrar só os números que estavam na string.
  ShowMessage(GetStrNumber('g4dfg46dSsgGGS454S700DG%#$76dfsd'));
 
  ShowMessage(GetStrNumber('KsXlTo14PMnmQ6a'));
end;

Dúvidas ou sugestões deixe nos comentários do post.

Facebook Comments Box
  • InfusTec
  • 20.715 views
  • 0 comentários
  • 18 de abril de 2015

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados