"Uropa" antwortet "Opa"
Halte Dich doch an das, was Du bewerkstelligen willst: Du willst Zeichen aus einem String löschen.
Delphi-Quellcode:
function TForm1.KillDoppelteZeichen(s: string): string;
var
i: integer;
begin
i:= 1;
repeat
if s[i+1]=s[i] then begin // Doppeltes Zeichen
Delete(s, i+1, 1); continue end // entfernen
else Inc(i); // sonst weiter
until i=Length(s)-1;
Result:= s
end;
Oh, da habe ich doch glatt übersehen, dass Du nur die Doppelten eines bestimmten Buchstaben eliminieren willst. Also:
Delphi-Quellcode:
function TForm1.KillDoppelteZeichen(s: string; ch:Char): string;
var
i: integer;
begin
i:= 1;
repeat
if (s[i]=ch) and (s[i+1]=s[i]) then begin Delete(s, i+1, 1); continue end
else Inc(i);
until i=Length(s)-1;
Result:= s
end;
Da das alles im Augenblick geht, ist die Geschwindigkeit kein Thema. Oder willst di im String die ganzen Budenbroks übergeben.