Hallo,
folgende Funktion hat Hagen mal im Entwickler Forum gepostet.
Die Funktion ist die schnellste die ich kenne
Delphi-Quellcode:
function DeleteNonNumbers(const Value: String): String;
var
I: Integer;
P: PChar;
begin
SetLength(Result, Length(Value));
P := PChar(Result);
for I := 1 to Length(value) do
if Value[I] in ['0'..'9'] then
begin
P^ := Value[I];
Inc(P);
end;
SetLength(Result, P - PChar(Result));
end;
Hier wird nur Delphi MemoryManager nur zweimal belästigt. Bei den o.g. Funktionen bei jedem Schleifendurchlauf.