Ick bin ja auch blöd: Übergebe ein Zeichen, dessen doppelte Vorkommen weggeschnippelt werden sollen, und dann wird dieses Zeichen ignoriert...
Delphi-Quellcode:
Function RemoveCharRepetitions(Const aText: String; aChar: Char): String;
Var
i, j: Integer;
c: Char;
Begin
setLength(Result, Length(aText));
If Length(aText)=0 Then Exit;
j := 1;
c := aText[1];
Result[1] := c;
For i := 2 To Length(aText) Do
If (c<>aChar) or (aText[i] <> c) Then Begin
Inc(j);
c := aText[i];
Result[j] := c;
End;
SetLength(Result, j);
End;
Eigentlich der gleiche Code wie vom Grenzgaenger... Optimieren kann man das, indem man z.B. bis zum ersten Auftreten des Zeichens springt. Insbesondere der Code von Grenzgaenger wird dann schneller.