Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Описание: поиск и замена слов в тексте
Alex5757
Отправлено: 04 Февраля, 2023 - 13:48:20
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2018  
Репутация: 0




помогите написать скрипт для текстового файла, содержащего текст с заранее известными ошибками в словах, которые нужно заменить на "правильные". Наример:

-------------------------------------------------------
сахар;От;Александр;Источник;магазин;15;кг
грибы белые;От;Иван Иванович;Источник;лес;20;кг
бензин;От;Иван Петрович;Источник;машина;15;литров
алкоголь;От;Василий;Источник;ларёк;10;литров
алкоголь вино;От;Лариса;Источник;КБ;15;бутылок
помидоры;От;Катя;Источник;огород;15;ящиков
огурцы;От;марина;Источник;теплТица;15;кг
лук;От;Олег;Источник;огород;5;кг
сахар;От;Александр;Источник;магазин;15;кг
грибы белые;От;Иван Иванович;Источник;лес;20;кг
бензин;От;Иван Петрович;Источник;машина;15;литров
алкоголь;От;Василий;Источник;ларёк;10;литров
алкоголь вино;От;Лариса;Источник;КБ;15;бутылок
помидоры;От;Катя;Источник;огород;15;ящиков
огурцы;От;мариНа;Источник;теплТица;15;кг
лук;От;Олег;Источник;огород;5;кг
сахар;От;Александр;Источник;магазин;15;кг
грибы белые;От;Иван Иванович;Источник;лес;20;кг
бензин;От;илья Петрович;Источник;машина;15;литров
алкоголь;От;Василий;Источник;ларёк;10;литров
алкоголь вино;От;Лариса;Источник;КБ;15;бутылок
помидоры;От;Катя;Источник;огород;15;ящиков
огурцы;От;марина;Источник;теплТица;15;кг
лук;От;Олег;Источник;огород;5;кг
-----------------------------------------------------------------
необходимо заменить:
"марина" на "Марина"
"илья " на "Иван "
"КБ" на "Красное и Белое"
"бензин" на "солярка"
"теплиТица" на "теплица"
 
 Top
Zireael
Отправлено: 04 Февраля, 2023 - 16:32:12
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4461
Дата рег-ции: Нояб. 2017  
Репутация: 585




CODE:
string Text;
char content[9999999];
string replace[99][2];

string path = "D:\testfile.txt"; // путь к файлу
int utf8 = 1; // кодировка файла: 0 - ansi, 1 - utf8

// что на что менять
replace[0][0] = "марина"; replace[0][1] = "Марина";
replace[1][0] = "илья"; replace[1][1] = "Иван";
replace[2][0] = "КБ"; replace[2][1] = "Красное и Белое";
replace[3][0] = "бензин"; replace[3][1] = "солярка";
replace[4][0] = "теплТица"; replace[4][1] = "теплица";

if (fopen(path, "rb")) // открыть файл
{
initialarray(#content[0], 0);
freadb(#content[0], sizearray(content)); // прочитать
fclose(); // закрыть

if(utf8==0)Text = format(#content[0]);
else Text = utf8toansi(#content[0]);
//messagebox(Text);

int _size = sizearray(replace);
for(int i=0; i<_size; i++) // замена текста в цикле
{
if(replace[i][0]=="" && replace[i][1]=="") break;
regexreplace(-1, #Text, Text, replace[i][0], replace[i][1]);
}

if (fopen(path, "wb")) // открыть файл
{
if(utf8==0)strcpy(#content[0], Text);
else strcpy(#content[0], ansitoutf8(Text));

fwriteb(#content[0], size(#content[0])); // записать текст
fclose();
start(path);
}
else messagebox("Файл для записи не открылся");
}
else messagebox("Файл для чтения не открылся");
 
 Top
Alex5757
Отправлено: 05 Февраля, 2023 - 02:21:25
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2018  
Репутация: 0




Zireael, спасибо большое! проверю - отпишусь как работает!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by