Если у вас возникла необходимость удалить двойные пробелы или заменить двойные пробелы одинарными используя Delphi, то можно воспользоваться следующей функцией:
- function StringReplace (const SourceString, OldPattern, NewPattern : string; Flags : TReplaceFlags) : string;
Функция StringReplace заменяет первое или все вхождения подстроки OldPattern в SourceString строкой NewPattern в соответствии с настройками Flags. В качестве результата функции возвращается измененная строка.
Переменная Flags может содержать ни одного, одно или оба из этих значений:
- rfReplaceAll : заменяет все вхождения
- rfIgnoreCase : игнорирует регистр при поиске
Эти значения задаются в квадратных скобках.
Пример замены двойных пробелов одинарными в Delphi:
uses SysUtils;
var
before, after : string;
begin
before:='Текст в котором удаляются двойные пробелы с помощью Delphi';
after := StringReplace(before, ' ', ' ', [rfReplaceAll]);
ShowMessage(before);
//Выведет: Текст в котором удаляются двойные пробелы с помощью Delphi
ShowMessage(after);
//выведет: Текст в котором удаляются двойные пробелы с помощью Delphi
end;
end;
Для удаления повторяющихся пробелов в Delphi вы можете использовать следующую функцию:
function DelDoubleSpaces(OldText:String):string;
var i:integer;
s:string;
begin
if length(OldText)>0 then
s:=OldText[1]
else
s:='';
for i:=1 to length(OldText) do
begin
if OldText[i]=' ' then
begin
if not (OldText[i-1]=' ') then
s:=s+' ';
end
else
begin
s:=s+OldText[i];
end;
end;
DelDoubleSpaces:=s;
end;