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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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;

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

1
2
3
4
5
procedure TForm1.Button1Click(Sender: TObject);
begin
  memo2.Text:=Memo1.Text;
  memo2.Text:=ReplaceString(memo2.Text,Edit1.Text,Edit2.Text)
end;

Результат работы функции:
пример замены всех вхождений подстроки в строке

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

  • на Delphi

  • на Java

  • на C++