Sources
Delphi Russian Knowledge Base
DRKB - база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Удаление лишних пробелов в строке

01.01.2007
Vit

Вариант 1:

Author: Артем, boss1999@mail.ru

Date: 24.09.2003

{ **** UBPFD *********** by delphibase.endimus.com ****
>> удаление лишних пробелов в строке

удаляет из строки лишние пробелы без использования всяких указателей и т.д.

Зависимости: стандартные модули
Автор:       Артем, boss1999@mail.ru, москва
Copyright:   собственное описание (Артем)
Дата:        24 сентября 2003 г.
***************************************************** }

{процедура удаления лишних пробелов в строке (см. function Sha_SpaceCompress)}
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;

Вариант 2:

Author: Vit

Function DeleteUselessSpaces(s:String):string;
begin
  Repeat
    Result:=s;
    s:=StringReplace(Result,'  ',' ',[rfReplaceAll]); //заменяем все двойные пробелы на одинарные
  Until Result=s; //повторяем до тех пор пока есть двойные пробелы 
end;
Previous page:
Перевод символа в верхний регистр для русского алфавита
Top:
DRKB
Next page:
Как удалить переносы из строки?