Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#39

Re: StringReplace und doppelte Zeichen

  Alt 25. Dez 2007, 10:12
Hallo,

wenn man nicht gerade nach dem Zeichen #0 suchen möchte, dann dürfte auch folgende Routine funktionieren:

Delphi-Quellcode:
function ReduceMultipleChars (const s: string; c: Char = ' '): string;
var
  pRead, pEnd, pWrite : PChar;
begin
  pRead := PChar(s);
  pEnd := pRead + Length(s);

  SetLength (Result, Length(s));
  pWrite := PChar(Result);

  while (pRead <> pEnd) do
    begin

      repeat
        pWrite^ := pRead^;
        Inc (pRead);
        Inc (pWrite);
      until ((pRead[-1] = c) or (pRead = pEnd));

      while (pRead^ = c) do
        Inc (pRead);

    end;

  SetLength (Result, pWrite - PChar(Result));
end;
Frohe Weihnachten!
  Mit Zitat antworten Zitat