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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     16 Feb 2007  02:51:32
 To : Alexander Krasnitskiy
 Subject : Re: разбивка текста
 -------------------------------------------------------------------------------- 
 
 Alexander Krasnitskiy -> Alexander N. Skovpen  @ Thu, 15 Feb 2007 23:46:10
 +0300:
 
  AK>>> Hужно разбить произвольный текст на предложения или на абзацы.
  AK>>> Все что смог быстро сообразить - это разбика на абзацы, при
  AK>>> условии разделения абзацев пустой строкой. А если абзацы
  AK>>> разделены как то иначе?? Верстка может быть какой угодно!
  AS>> не понял, в чем проблема. началом абзаца считай пробел или таб. (^\
  AS>> |^\t) на предложения соответственно (\.) разделитель.
 
  AK> Все проще - проблема была во мне. Вообще то я - дельфист(а в Delphi
  AK> регэкспов нет), перл более-менее освоил совсем недавно и... регэкспы
  AK> единственное, что я так и не освоил. А тут довелось срочно понимать, что
  AK> именно вот здесь, вот в этом месте дельфийского проекта срочно нужно
  AK> воткнуть пару регэкспов. :-) Hужную библиотеку нашел за полчаса, PCRE
  AK> называется. :-)     Обложился книжками и немного растерялся...
 
 Hу, собственно, первый ответ был правильным.  Сформулируй на русском
 языке, как ты отличаешь один абзац от другого.  Мы тебе зададим по паре
 вопросов (каждый...) на пограничные условия, благо опыт большой.  Ты на
 них ответишь.  Так пройдет с пяток итераций.  Полученную в итоге
 формулировку уже тупо переводим на pcre.
 
 Впрочем, может оказаться, что определение абзаца будет таким, что
 дешевле какой-нибудь самодельный конечный автомат нарисовать, чем
 регекс.  Ибо "верстка может быть какой угодно".  Хотя, конечно, при
 появлении непредусмотренного варианта верстки менять регекс на порядок
 проще, чем менять самодельный FA.  Это тоже надо будет учесть.
 
 Тут, надо сказать, есть проблема.  Мне она знакома по работе с makeztxt
 (программка преобразует текстовый файл в материал для пальмовской
 читалки weasel; у пальма экран намного уже 80 символов, поэтому
 приходится делать переразбивку на абзацы, а то неудобно будет читать).
 Так вот, верстка действительно бывает любой.  И то определение абзаца,
 которое годится для одного текста, напрочь не годится для другого.  И
 даже эмпирика, которая кое-как годится, определяется только анализом
 всего файла (ну, на практике - изрядной части, но если пытаться
 автоматизировать - то всего, и никак иначе).  В принципе, схем немного,
 но какая из них применена для данного текста - тайна сия велика есть...
 
 Я, если меня долго упрашивать (ибо работа сильно не на 10 минут) могу
 попытаться перечислить попадавшиеся мне схемы.
 
 -- 
 Artem Chuprina
 RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru
 
 на вопрос "как дела?" отвечать "304 Not Modified"
   http://bash.org.ru/quote.php?num=20466
 --- ifmail v.2.15dev5.3
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
  разбивка текста   Alexander Krasnitskiy   10 Feb 2007 09:09:14 
 Re: разбивка текста   Eugene Grosbein   10 Feb 2007 14:20:15 
  разбивка текста   Alexander N. Skovpen   15 Feb 2007 00:09:22 
  разбивка текста   Dmitry Grebeniuk   15 Feb 2007 15:43:32 
  разбивка текста   Alexander Krasnitskiy   16 Feb 2007 00:46:10 
 Re: разбивка текста   Artem Chuprina   16 Feb 2007 02:51:32 
Архивное /ru.perl/11477e95acab9.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional