Удаление лишних пробелов в строке
Удаляет из строки лишние пробелы без использования всяких указателей и т.д.
var
c, i: integer;
stt, st, st1: string;
begin
c := 0;
st := edit1.Text;
for i := 1 to Length(st) do
begin
stt := copy(st, i, 1);
if (stt = ' ') and (c >= 1) then
begin
st1 := st1;
c := c + 1;
end
else if (stt = ' ') and (c = 0) then
begin
c := c + 1;
st1 := st1 + stt;
end
else if (stt <> ' ') then
begin
c := 0;
st1 := st1 + stt;
end
end;
edit2.text := st1;
end; |
Function DeleteUselessSpaces(s:String):string;
begin
Repeat
Result:=s;
s:=StringReplace(Result,' ',' ',[rfReplaceAll]);
//заменяем все двойные пробелы на одинарные Until Result=s;
//повторяем до тех пор пока есть двойные пробелы end; |