Moin Moin, ein Wettbewerb? Dann möcht ich auch eine Routine zum besten geben 8)
Delphi-Quellcode:
FUNCTION TrimDublicateSpaces(aString: string): string;
VAR
i, j: integer;
BEGIN
SetLength(Result, length(aString));
j := 0;
FOR i := 1 TO length(aString) DO
IF aString[i] <> ' ' THEN
BEGIN
Inc(j);
Result[j] := aString[i];
END
ELSE
IF (j = 0) or (Result[j] <> aString[i]) THEN
BEGIN
Inc(j);
Result[j] := aString[i];
END;
SetLength(Result, j);
END;
//Edit: SetLength nach Hinweis
Sakura angepasst.