Поиск и замена текста в txt файле

servis22plus

Client
Регистрация
23.12.2015
Сообщения
96
Благодарностей
8
Баллы
8
Коллеги не подскажете снипет поиска и замены текста в txt файле
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 880
Баллы
113

servis22plus

Client
Регистрация
23.12.2015
Сообщения
96
Благодарностей
8
Баллы
8
Берёте содержимое файла в переменную, выполняете действие замена - записываете назад.
Зеннопостер портитфайл... нужно просто взять файл как есть, найти строчку и заменить её.
Кубиками вопрос не решается.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 703
Баллы
113
А функция конвертирования экшенов в C# не работает на них?
Зеннопостер портитфайл... нужно просто взять файл как есть, найти строчку и заменить её.
Кубиками вопрос не решается.
Кубики написаны на C#
Как они у вас портят файл?
 

servis22plus

Client
Регистрация
23.12.2015
Сообщения
96
Благодарностей
8
Баллы
8
А функция конвертирования экшенов в C# не работает на них?

Кубики написаны на C#
Как они у вас портят файл?
У меня в файле помимо текста есть инфрмация по типу "8Ф›ќFћ»^З‚x[а—‡дш"
И походу при копировании не возвращается обратно то что было.
Руками черзе notepad++ все работает. Через кубики нет.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 703
Баллы
113
Приложите семпл шаблон + семпл файла с кракозябрами который используете который проиллюстрирует вышеописанную проблему. Посоветуюсь с программистами
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 880
Баллы
113

moRL

Client
Регистрация
18.07.2016
Сообщения
101
Благодарностей
70
Баллы
28
Добрый день! В теле спаршеного поста периодически проскакивают ссылки, необходимо найти такие ссылки по маске https://site/index.html?aff=2114.13010308.0.115.5fkxXZ и заменить на https://site/index.html, т.е отсечь не нужное и вписать ссылку на тоже место. Как такое провернуть?

PS: Делаю как на скрине и ничего не происходит - текст остается без изменений.

замена ссылки в посте.png

PPS: Извиняюсь, что не в том разделе спросил.
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 952
Благодарностей
779
Баллы
113
Добрый день! В теле спаршеного поста периодически проскакивают ссылки, необходимо найти такие ссылки по маске https://site/index.html?aff=2114.13010308.0.115.5fkxXZ и заменить на https://site/index.html, т.е отсечь не нужное и вписать ссылку на тоже место. Как такое провернуть?

PS: Делаю как на скрине и ничего не происходит - текст остается без изменений.

Посмотреть вложение 15365

PPS: Извиняюсь, что не в том разделе спросил.
вы используете - site.com - дословно? для поиска? у вас же сайт наверно по другому называется.. вам надо составить регулярку в конструкторе регулярных выражений, что типо - ? -это идёт после текста , и взять эту регулярку для регекса

п.с. - это я другим путём немного пошёл.. ваш не разглядел сразу
 

moRL

Client
Регистрация
18.07.2016
Сообщения
101
Благодарностей
70
Баллы
28
вы используете - site.com - дословно? для поиска? у вас же сайт наверно по другому называется.. вам надо составить регулярку в конструкторе регулярных выражений, что типо - ? -это идёт после текста , и взять эту регулярку для регекса

п.с. - это я другим путём немного пошёл.. ваш не разглядел сразу
Это я сайт шифранул)

Решил все Заменой \?aff.* на {-String.Space-}
 

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 439
Благодарностей
564
Баллы
113
Коллеги не подскажете снипет поиска и замены текста в txt файле
Вопрос по этому вопросу.

Через кубики это понятно, как решить. А если шаблон работает во многопотоке, как здесь быть. И оба потока могут пойти по этой ветке, в это время данные ещё не запишутся в файл и какой-то из шбалонов нарушит данные в файле, так как возьмёт данные из него в то время, когда они будут обрабатываться другим потоком.

Файл у меня обновляется по разному. То сразу, то можно секунд 10 подождать до перезаписи. Второй поток может уже подхватить этот файл.

Этот код работает только когда в списке 1 строка, как добавялется несколько, то всё. Никаких изменений.
C#:
// получаем список, в котором будем искать
var sourceList = project.Lists["список"];
var poisk = project.Variables["эту_переменную_ищем"].Value;
lock(SyncObjects.ListSyncer)
{
    for(int i=0; i < sourceList.Count; i++) // Пробегаемся по списку
    {
        if (sourceList[i]==poisk)
        {
            sourceList[i]=project.Variables["на_это_заменяем"].Value;
        
        }
    }
}
 
Последнее редактирование:
  • Спасибо
Реакции: phoenixs

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)