Einzelnen Beitrag anzeigen

mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
640 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

AW: Schnellstes Entfernen von Chars aus einem String?

  Alt 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
Wenn du mit Gott reden willst, dann bete.
Wenn du ihn treffen willst, schreib bei Tempo 220 eine SMS
  Mit Zitat antworten Zitat