program ReplaceMultipleSpaces;
uses
SysUtils; // for Trim
function RemoveExtraSpaces(const str: string): string;
var
i: Integer;
ResultStr: string;
InSpace: Boolean;
begin
ResultStr := '';
InSpace := False;
for i := 1 to Length(str) do
begin
if str[i] <> ' ' then
begin
ResultStr := ResultStr + str[i];
InSpace := False;
end
else if not InSpace then
begin
ResultStr := ResultStr + ' ';
InSpace := True;
end;
end;
// Trim leading and trailing spaces
RemoveExtraSpaces := Trim(ResultStr);
end;
var
str, OutputStr: string;
begin
str := ' This is a string with multiple spaces ';
OutputStr := RemoveExtraSpaces(str);
WriteLn('"', OutputStr, '"');
end.
(*
run:
"This is a string with multiple spaces"
*)