Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
Delphi 12 Athens
|
AW: Schnellstes Entfernen von Chars aus einem String?
29. Mär 2015, 17:30
Wie schnell ist denn diese Variante im Vergleich?
Delphi-Quellcode:
function RemoveCharsFromString( const AStr: string; CharsToRemove: TSysCharSet): string;
var
PSrc, PDest, PCurrent: PChar;
begin
SetLength(Result, Length(AStr));
PSrc := PChar(AStr);
PDest := PChar(Result);
PCurrent := PDest;
while PSrc^ <> #0 do
begin
{$IFDEF UNICODE}
if not CharInSet(PSrc^, CharsToRemove) then
{$ELSE}
if not(PSrc^ in CharsToRemove) then
{$ENDIF}
begin
PCurrent^ := PSrc^;
PCurrent := CharNext(PCurrent);
end;
PSrc := CharNext(PSrc);
end;
SetString(Result, PDest, PCurrent - PDest);
end;
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|