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

Регистрация
27.12.2012
Сообщения
70
Благодарностей
8
Баллы
8
Может кто-то подскажет решение на C# (так быстро же будет), как сделать поиск и замены в указанной папке, включая подпапки в файлах .txt, .php, html? Например, в этих файлах есть строка [domain] - везде прошерстить и поменять на нужное значение? Я бы на пиво скинул. :-)
 
  • Спасибо
Реакции: APXOHT

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
C#:
string path = @"D:\downloads\13241234";
string pattern = "[domain]";
string replacement = "www.google.com";

var files = System.IO.Directory.EnumerateFiles(path, "*.*", System.IO.SearchOption.AllDirectories).Where(s => s.EndsWith(".txt") || s.EndsWith(".php")|| s.EndsWith(".html"));
foreach(var filepath in files){
string text = System.IO.File.ReadAllText(filepath);
text = text.Replace(pattern, replacement);
System.IO.File.WriteAllText(filepath, text);
}
пофиксил
 
Последнее редактирование:
Регистрация
27.12.2012
Сообщения
70
Благодарностей
8
Баллы
8
Не получается, тоже с доступом проблема

 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
учти это не для многопотока
но если исходня папка во всех потоках будет разная то можно
если нет то вопрос решаемый
 
Последнее редактирование:

axiles

Client
Регистрация
22.07.2015
Сообщения
25
Благодарностей
2
Баллы
3
Этот код меняет даже слова не целиком, например надо заменить слово "текст"
Данный код находит: текст_но_здесь_ещё_какие_то_буквы
меняет вхождение: текст на текст2
получается: текст2_но_здесь_ещё_какие_то_буквы

Как сделать чтобы текст_но_здесь_ещё_какие_то_буквы пропускался и менялось только слово целиком с нужным вхождением?
 

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