Замена в строке всех вхождений одной подстроки на другую в Delphi

Другое   4 февраля 2012  Автор статьи: admin 

Данная функция позволяет легко произвести замену одной подстроки на другую.
В качестве входных данных функции необходимо передать исходную строку, заменяемую подстроку и строку, на которую будет произведена замена. В результате функция возвращает строку с замененными вхождениями подстроки.

[cc lang=’delphi’]function ReplaceString(const source, subStrFrom, subStrTo: string): string;
// — source — исходная строка
// — subStrFrom — подстрока, подлежащая замене
// — subStrTo — подстрока, которой будут заменены вхождения подстроки str1
var
a, b: Integer;
begin
Result := source;
b := Length(subStrFrom);
repeat
a := Pos(subStrFrom, Result); // находим позицию подстроки subStrFrom
if a > 0 then
begin
Delete(Result, a, b); // удаляем найденную подстроку subStrFrom
Insert(subStrTo, Result, a); // вставляем подстроку subStrTo
end;
until a = 0;
end;[/cc]
Пример работы с функцией:
[cc lang=’delphi’]procedure TForm1.Button1Click(Sender: TObject);
begin
memo2.Text:=Memo1.Text;
memo2.Text:=ReplaceString(memo2.Text,Edit1.Text,Edit2.Text)
end;[/cc]
Результат работы функции:
пример замены всех вхождений подстроки в строке

Научиться программировать

  • на Delphi

  • на Java

  • на C++