Hallöchen,
ich hätte da mal ne Frage.
Fällt euch eine Idee ein, wie man doppelte Buchstaben aus einem String löschen könnte?
Also z.B. Erwinistdoof, da soll das zweite i und das zweite o gelöscht werden.
Ich hatte die Idee, dass es vielleicht möglich wäre, den gerade gelesenen Buchstaben mit den vorher gelesenen Buchstaben zu vergleichen
und diese bei der erneuten Zusammensetzung des Strings nicht zu berücksichtigen.
Ich habe leider absolut keine Idee wie man dies bewerkstelligen könnte.
Danke und LG
SirMaurice
Delphi-Quellcode:
FUNCTION RemoveRepeatetChars(const S:String):String;
var I,J:Integer; C:Char; UsedChars:Array of Boolean;
begin
SetLength(UsedChars,Ord(High(Char))+1);
Result:=S;
J:=0;
for I:=1 to Length(Result) do begin
C:=Result[I];
if not UsedChars[Ord(C)] then begin
Inc(J);
Result[J]:=C;
UsedChars[Ord(C)]:=True;
end;
end;
SetLength(Result,J);
end;