Einzelnen Beitrag anzeigen

Benutzerbild von Opa
Opa

Registriert seit: 12. Jun 2003
107 Beiträge
 
Delphi 7 Enterprise
 
#1

StringReplace und doppelte Zeichen

  Alt 23. Dez 2007, 20:33
Nach dem ich erkennen musste das <StringReplace> nicht immer richtig funktioniert
StringReplace(S,#32#32,#32) kommt es zu Fehlern.
Hier mal eine Lösung: (Uppercase habe ich weggelassen, ich brauche das nicht für mein PRG)
Code:
function KillDoppelZeichenToZeichen(S:string;C:Char):string;
var
  I : integer;
begin
  if Length(S) < 2 then
  begin
    Result := S;//Zufrieden
   exit;
  end;
  Result := '';
  I := Length(S);
  repeat
    if (S[I] = C) and (I > 1) then
    begin
        while (S[I-1] = C) and (I > 1) do
        begin
          dec(I);
          if I < 2 then break; //Vertippt nicht 1 sonder I
        end;
     end;
    Result := S[I]+Result;
   dec(I);
  until I < 1;
end;
MFG
Wenn man nicht weiß was man sucht, findet man auch mit Google nichts.
Bevor ich hier eine Frage stelle, wurde Google vorher befragt. Hinweise dieser Art kann man sich schenken. Im übrigen muss mir niemand antworten.
  Mit Zitat antworten Zitat