Zitat von
Mois:
Danke es funktioniert.
Wenn es um größere Text geht, dann dürfte obige Methode sehr langsam werden. Hier eine optimierte Lösung:
Delphi-Quellcode:
function RemoveUnwantedSpace(const Txt: AnsiString): AnsiString;
var
I: Integer;
Used: Integer;
InCh: ^Char;
LastWasSpace: Boolean;
Res: AnsiString;
begin
SetLength(Res, Length(Txt));
if Length(Txt) > 0 then
begin
Used := 0;
LastWasSpace := False;
InCh := @Txt[1];
for I := 1 to Length(Txt) do
begin
if InCh^ = #32 then
begin
if not LastWasSpace then
begin
Inc(Used);
Res[Used] := InCh^;
LastWasSpace := True;
end;
end
else
begin
LastWasSpace := False;
Inc(Used);
Res[Used] := InCh^;
end;
Inc(InCh);
end;
SetLength(Res, Used);
end;
Result := Res;
end;
Aufruf wie folgend:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := RemoveUnwantedSpace(Edit1.Text);
end;
...
...