Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
Delphi 10.1 Berlin Professional
|
AW: Schnellstes Entfernen von Chars aus einem String?
29. Mär 2015, 16:44
StringReplace wurde immer ein Zeichen ersetzen. Man müsste es somit für jeden Zeichen wiederholen (was auch keine Arbeit wäre).
Ansonsten aus dem Kopf:
Delphi-Quellcode:
function RemoveCharsFromString(const AStr, CharsToRemove: string): string;
var
i: Integer;
begin
Result := AStr;
for i := Length(Result) downto 0 do
if Pos(Result[i], CharsToRemove) > 0 then
//if Pos(AnsiUpperCase(Result[i]), AnsiUpperCase(CharsToRemove)) > 0 then
Delete(Result, i, 1);
end;
Müsste man mal testen, was schneller wäre...auch aus dem Kopf und ungetestet:
Delphi-Quellcode:
function RemoveCharsFromString(const AStr, CharsToRemove: string): string;
var
i,p: integer;
ch: char;
begin
Result := AStr;
for i := 1 to Length(CharsToRemove) do begin
p := Pos(CharsToRemove[i],Result);
if p > 0 then
repeat
Delete(Result,p,1);
p := Pos(CharsToRemove[i],Result);
until P = 0;
end;
end;
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen
|
|
Zitat
|