RSS

StringReplace (функция)

Функция StringReplace – заменяет символ или набор символов в строке на указанный символ или набор символов. Функция входит в состав библиотеки SysUtils и имеет несколько входных параметров – обрабатываемую текстовую строку, заменяемую часть, часть на которую будет произведена замена, дополнительные параметры замены (флаги). Результатом работы функции является исходная строка с внесенными изменениями.

 
Синтаксис функции:  StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string

Где:
S – исходная строка;
OldPattern – старый символ или набор символов;
NewPattern – новый символ или набор символов;

Flags – параметры замены. Имеет два значения rfReplaceAll и rfIgnoreCase указывающих способ поиска и замены. rfReplaceAll – заменяет в тексте все найденные символы или наборы символов, указанные в параметре  OldPattern на NewPattern. rfIgnoreCase – игнорирует регистры (малые и большие текстовые символы не учитываются).

 
Примеры работы функции StringReplace:

procedure TForm1.Button1Click(Sender: TObject);
const str=‘СъЕшь-ещЕ_этих-сладких_яблочЕк!’;
var sMsg:string;
begin
//замена первого найденного символа «-«
sMsg:=‘Строка до преобразования [‘+str+‘]’+#13+
      ‘Строка после одиночной замены «-» [‘+stringReplace(str,‘-‘,‘ ‘,[])+‘]’;

ShowMessage(sMsg);

//замена всех найденных в строке «_»
sMsg:=‘Строка до преобразования [‘+str+‘]’+#13+
      ‘Строка после замены всех «_» пробелами [‘+stringReplace(str,‘_’,‘ ‘,[rfReplaceAll])+‘]’;

ShowMessage(sMsg);

//замена всех «е» и малых и больших (без учета регистра) на ее код в таблице ASCII
//коды малых и больших символов отличаются. В данном примере замена на код «е» в нижнем регистре
sMsg:=‘Строка до преобразования [‘+str+‘]’+#13+
      ‘После замены всех «е» на код символа. Поиск без учета регистра [‘+
      stringReplace(str,‘е’,inttostr(ord(‘е’)),[rfReplaceAll,rfIgnoreCase])+‘]’;

ShowMessage(sMsg);

end;