Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Vladimir Lomov                       2:5020/400     14 Mar 2007  18:37:04
 To : Artem Chuprina
 Subject : Re: Поиск и замена с русскими буквами
 -------------------------------------------------------------------------------- 
 
 Artem Chuprina пишет:
 
 [skip... много]
 
 VL>> Взял с библиотеки Мошкова пару книг и теперь буду
 VL>> "объяснять" как положено оформлять, с особенности
 VL>> при помощи "современных средств, а именно
 VL>> текстовых редакторов" (в кавычках, т.е., имхо,
 VL>> полный бред, редактор должен редактировать, а не
 VL>> форматировать текст; фраза не моя). Затем покажу,
 VL>> как это можно сделать в LaTeX'е. Кому что
 
 удобнее,
 
 VL>> тем и будет пользоваться.
 
 AC> Латеху, кстати, пофиг лишние пробелы.  Это
 
 вполне может быть
 
 AC> дополнительным аргументом...
 
 VL>> Пробелма возникла когда взял наобум хороший текст
 VL>> ("Сами боги", Айзек Азимов). Куча лищних пробелов
 VL>> и пр. "мелочи". Решил немного упростить
 
 задачу, да
 
 VL>> и perl подучить. Что получилось --- известно.
 
 AC> Hу да, в итоге зачем-то сильно ее усложнил.
 
 Согласен! Hерациональность мышления
 распространённое явление?!
 
 VL>> Да, вот ещё одна проблема. Все преобразования
 VL>> делаются в цикле:
 
 VL>> foreach(<IN_FH>) {
 VL>>   s/(^\ {$paragraph_indent_num})/\n$1/go;
 VL>>
 VL>> s/([-\.,!\?'";:>]|\b)\s+([-\.,!\?'";:<]|\b|\n)/$1
 VL>> $2/g;
 VL>>   print OUT_FH $_;
 VL>>   $line++;
 VL>> }
 VL>> Hа выходе файл в том формате, что нужно. Hо если
 VL>> использовать немного другой цикл
 VL>> foreach(<IN_FH>) {
 VL>>   s/(^\ {$paragraph_indent_num}.*)\n/\n$1 /go;
 VL>>   s/(^\w.*)\n/ $1 /;
 VL>>
 VL>> s/([-\.,!\?'";:>]|\b)\s+([-\.,!\?'";:<]|\b|\n)/$1
 VL>> $2/g;
 VL>>   print OUT_FH $_;
 VL>>   $line++;
 VL>> }
 VL>> чтобы весь абзац располагался в одной строке (для
 VL>> openoffice'а), то не все лишние пробелы убираются
 VL>> и не всегда срабатывает второй s. Какие-нибудь
 VL>> идеи, предложения?
 
 AC> Второй s срабатывает всегда.  Возможно, не
 
 всегда будет матчиться
 
 AC> написанный там регекс, ну так регекс, который
 
 матчится всегда - это
 
 AC> только .* :-)  Ты чего имел в виду-то, когда
 
 его писал?
 Для первого варианта: чтобы перед абзацем пустая
 строка вставлялась. Затем убирались лишние пробелы.
 Для второго варианта: вставить пустую строку перед
 абзацем, убрать все символы новой строки для
 одного абзаца, чтобы поместить его в одну строку.
 
 AC> А лишние пробелы убираются.  Hо ты их вторым s
 
 дополнительно вставляешь,
 
 AC> причем специально так, чтобы не дай бог не
 
 убрались.
 Хорошо, над этим я ещё подумаю. Често :-).
 
 С другой стороны, то что возникли вопросы
 означает, что сам метод действия неэффективен.
 Думаю остановиться на том, что убирать пробелы
 буду при помощи s/ +/ /g;, а абзацы помечать для
 дальнейшего разбора.
 
 Всем спасибо за полезную дисскусию.
 Отдельное спасибо Artem Chuprina и Eugene Grosbein
 за ценные замечания.
 
 - ---
 Best regards, Vladimir Lomov
 -- 
 Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
 --- ifmail v.2.15dev5.3
  * Origin: Talk.ru (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Поиск и замена с русскими буквами   Vladimir Lomov   11 Mar 2007 14:06:05 
 Поиск и замена с русскими буквами   Dmitry E. Oboukhov   11 Mar 2007 23:12:03 
 Re: Поиск и замена с русскими буквами   Vladimir Lomov   12 Mar 2007 04:12:22 
 Поиск и замена с русскими буквами   Dmitry E. Oboukhov   12 Mar 2007 11:15:38 
 Поиск и замена с русскими буквами   Alexander Zigar\'   12 Mar 2007 13:54:34 
 Поиск и замена с русскими буквами   Dmitry E. Oboukhov   12 Mar 2007 14:26:30 
 Re: Поиск и замена с русскими буквами   Serge Chervjakov   12 Mar 2007 11:21:42 
 Re: Поиск и замена с русскими буквами   Vladimir Lomov   13 Mar 2007 13:24:20 
 Re: Поиск и замена с русскими буквами   Artem Chuprina   13 Mar 2007 16:16:40 
 Re: Поиск и замена с русскими буквами   Vladimir Lomov   14 Mar 2007 18:37:04 
 Re: Поиск и замена с русскими буквами   Artem Chuprina   14 Mar 2007 20:12:40 
 Re: Поиск и замена с русскими буквами   Artem Chuprina   12 Mar 2007 16:36:25 
Архивное /ru.perl/64883651d80f.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional