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

Previous  Top  Next

    
 

 

Code:

{ **** 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;

©Drkb::00905


Code:

Function DeleteUselessSpaces(s:String):string;

{©Drkb v.3(2007): www.drkb.ru,

®Vit (Vitaly Nevzorov) - nevzorov@yahoo.com}

begin

Repeat

   Result:=s;

   s:=StringReplace(Result,'  ',' ',[rfReplaceAll]); //заменяем все двойные пробелы на одинарные

Until Result=s; //повторяем до тех пор пока есть двойные пробелы

end;

©Drkb::00906

Автор: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)