|
Pers.narod.ru. Обучение. Примеры по C++ Builder. Метод StringReplace из VCL |
StringReplace - это стандартная функция библиотеки VCL, позволяющая на C++ Builder (или Delphi) тривиально делать множественную замену строк в тексте, причём, без всякого "ручного" разбора. Опять пример того, когда ничего парсить не нужно (хотя и полезно бывает при обучении поразбирать любые строки "вручную").
Пример: в поле ввода Edit1 содержится текст, который надо заменить в файле, Edit2 содержит текст, на который заменяем, SList - это список TStringList, в который мы загружаем файл (список создаётся программно), результат пишем в многострочное текстовое поле Memo1. Наконец, OpenDialog1 - стандартный диалог открытия файла с вкладки палитры компонентов Dialogs.
Код будет такой:
TStringList *sList = new TStringList;
if (OpenDialog1->Execute()) {
sList->LoadFromFile(OpenDialog1->FileName);
Memo1->Text = sList->Text;
}
//...
String str = StringReplace( sList->Text, Edit1->Text, Edit2->Text,
TReplaceFlags() << rfReplaceAll << rfIgnoreCase);
Memo1->Text = str;
Это всё, пример, думаю, напишете сами :) Предполагается, что всё в Юникоде, тогда не должно быть проблем с поиском и заменой кириллицы.
|
|