Удаление лишних пробелов в строке
Материал из DRKB
Удаление лишних пробелов в строке[править | править код]
{ **** UBPFD *********** by delphibase.endimus.com ****
>> удаление лишних пробелов в строке
удаляет из строки лишние пробелы без использования всяких указателей и т.д.
Зависимости: стандартные модули
Автор: Артем, boss1999@mail.ru, москва
Copyright: собственное описание (Артем)
Дата: 24 сентября 2003 г.
***************************************************** }
{ процедура удаления лишних пробелов в строке }
function SpacesCompress(AStr: string): string;
var
c, i: integer;
s: string;
begin
c := 0;
Result := '';
for i := 1 to Length(AStr) do
begin
s := Copy(AStr, i, 1);
if (s = ' ') and (c >= 1) then
begin
c := c + 1;
end
else if (s = ' ') and (c = 0) then
begin
c := c + 1;
Result := Result + s;
end
else if (s <> ' ') then
begin
c := 0;
Result := Result + s;
end;
end;
end;
Source: http://delphibase.endimus.com
ID: 00905
function DeleteDoubleSpaces(s: string): string;
begin
repeat
Result := s;
s := StringReplace(Result, ' ', ' ', [rfReplaceAll]); // заменяем все двойные пробелы на одинарные
until Result = s; // повторяем до тех пор пока есть двойные пробелы
end;
Author: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)
ID: 00906