Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#17

Re: Einen Komma-Text richtig trennen.

  Alt 15. Feb 2008, 21:32
Hallo,

in Delphi sorgt die Prozedur ReallocMem() für die Vergrößerung eines bereits angeforderten Speicherblocks. Ist der Speicher hinter dem aktuellen Block in Benutzung, dann wird der aktuelle Block freigegeben und der größere Speicher an anderer Stelle zugeordnet.

Der Reiz einer Regular Expression liegt für mich im nicht prozeduralen Ansatz, aber sie kann nie schneller sein, als eine gute handkodierte Lösung:

Delphi-Quellcode:
function PurgeId(const list: string): string;
var
  iPos, iDest: Integer;
  skipping: Boolean;
begin
  skipping := False;
  SetLength(Result, Length(list));
  iDest := 1;
  for iPos := 1 to Length(list) do
    if skipping then
      skipping := list[iPos] <> '}'
    else if list[iPos] = '{then
      skipping := True else
      begin
        Result[iDest] := list[iPos];
        Inc(iDest);
      end;
  SetLength(Result, Pred(iDest));
end;
Freundliche Grüße
  Mit Zitat antworten Zitat