Zitat von
Pichel:
ich möchte in einem String keine doppelten Leerzeichen mehr haben.
Hierfür jetzt mal die Funktion StringReplace getestet.
Das funktioniert, wie auch bei anderen Zeichen mit StringReplace nicht. Wenn Du aus 'aa' einfach 'a' machen willst, dann wird aus dem String
baac ->
bac, und aus
baaaac ->
baac, ist bei Leerzeichen nicht anders.
Da musst Du Dir selbst eine kleine Funktion schreiben. Z.B.:
Delphi-Quellcode:
function RemoveDblSpaces(const InStr: string): string;
var
LastIsSpace: Boolean;
I, Cnt: Integer;
Res: string;
begin
SetLength(Res, Length(InStr));
Cnt := 0;
LastIsSpace := False;
for I := 1 to Length(InStr) do
begin
if LastIsSpace and (InStr[I] = #32) then
Continue;
LastIsSpace := InStr[I] = #32;
Inc(Cnt);
Res[Cnt] := InStr[I];
end;
SetLength(Res, Cnt);
Result := Res;
end;
...
...