



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.