|
|
|
| Иногда встречаются тексты, не разделенные на абзацы. А желательно осуществить это разделение посредством скрипта, поскольку эта работа при ее выполнении вручную исключительно трудоёмка. Да вот только осуществить это корректным образом мне пока что не удается…
Как известно, предложение может завершаться одним из четырех способов: точкой, троеточием (или тремя точками), восклицательным или вопросительным знаками. Поскольку «!» и «?» встречаются относительно редко, можно ограничиться разделением по окончаниям повествовательных предложений, то есть по точкам. Но на деле и это не получается, ибо в тесте могут встречаться фрагменты типа «г. Москва» или «и т.д.». То есть, наличие точки само по себе не всегда означает окончания предложения. И даже следующая за точкой заглавная буква (непосредственно или через пробел) тоже не является четким признаком того, что предложение завершилось перед ней.
Имеет ли вообще решение эта задача? | |
|
|
|
|
|
|
|
для: Владимир55
(19.04.2011 в 14:02)
| | Фрагменты типа «г. Москва» или «и т.д.» перед собой имеют одну букву. Можно искать точки, которым предшествует не менее двух букв (этим, кстати и точки в числах можно исключить). | |
|
|
|
|
|
|
|
для: cheops
(19.04.2011 в 14:21)
| | А если так: "г-н. Петров"?
Искать точки, которым предшествует не менее четырёх букв до пробела? | |
|
|
|
|
|
|
|
для: Владимир55
(19.04.2011 в 14:22)
| | Дефис не является буквой, регулярным выражением все эти случаи можно отсечь (почему классы символов так и удобны). | |
|
|
|