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; |
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; |
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.
-
InfusTec
-
20.715 views
- 0 comentários
- 18 de abril de 2015
Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!
Posts Relacionados - Continue Aprendendo