Есть тексты, извлечённые из документов, распознанных Finereader или в другой программе. При этом в некоторых русских словах вместо буквы г отображается r. Какой регуляркой массово через Notepad++ заменить, чтобы затронута была только кириллица, а слова на иностранных языках не были изменены? Например: rосударственное уреrулирование в Гонк-Конr
Также. Звездочку случайно оставил ([а-яА-Я])r на $1г --- Добавлено --- Плюс г может быть в начале большая или маленькая точку нужно искать перед пробелом
Ышо варианты str_replace() https://php.ru/manual/function.str-replace.html в варианте с фаршем по обработке файла: PHP: <?php $iFileName='str_rep.txt'; // имя файла для трансляции $oFileName='str_rep.out.txt'; // имя выходного файла $iFileBuf=array(); // буфер входного файла $oDesFile=null; // переменаая для дескриптора файла $chto='r'; // что меняем $naChto='г'; // на что меняем $str=''; // строка для итератора $rStr=''; // строка результата трансляции $iFileBuf=file($iFileName); // читаем входногй файл в буффер $oDesFile=fopen($oFileName,'w+'); // открываем файл для результата на запись // начинаем перебор foreach ($iFileBuf as $str) { // перебераем все строки через $str по циклу $rStr=str_replace($chto,$naChto,$str); // меняем echo "\n".$str." -> ".$rStr; // вывод для отладки fwrite($oDesFile,$rStr); // пишем строку в результирующий файл } fclose($oDesFile); // закрываем дескриптор файла echo "\n"; // перевод строки после вывода отладки ?> пример файла ввода (str_rep.txt) Код (Text): rосударственное уреrулирование в Гонк-Конr rосударственное уреrулирование в Гонк-Конr rосударственное уреrулирование в Гонк-Конr rосударственное уреrулирование в Гонк-Конr rосударственное уреrулирование в Гонк-Конr ну и как вариант, можно догнать до состояния консольной приблуды, через $argv https://php.ru/manual/reserved.variables.argv.html
З/Ы в принципе, имхо самый канонический вариант для замены в строке, это strtr https://php.ru/manual/function.strtr.html
Прочитал не внимательно - это правда. Но может, если выйти за рамки предложенного, возможно решить ту же задачу - но другими средствами с более высокой степенью автоматизации.
@joshadow, а оно тебе надо?)) чувак хочет в нотпаде, можт он электроник и ему автоматизация нафиг не надо)
Пока чувак мозг всем ебет с регулярками, сделал бы уже 108 реплейсов без регулярок (10 минут), если ему автоматизация не нужна.