Разбиение текста на предложения.
Добрый день.
Есть определенная строка (проще говоря, текст). Этот текст нужно разбить на предложения. Думается только в сторону regExp и split(). Массив получается. Всё удобно. Но как составить регулярное выражение, которое будет бить на предложения без ошибок натыкаясь на инициалы, например. Спасибо. |
Думаю такой точности не достичь. Пример - предложение "Ок." Как его отличить от "др. Хауз"?
|
Определить минимальную длину предложения. После тестирования можно добавить исключения таких вариантов, который предположил Wolsh.
|
В обычной речи предложением может быть "Я."
А уж в общении по мессенджерам и вовсе - ")" |
В итоге я сделал так.
Может кому понадобится. Код AS3:
|
ну сокращено внутри предложения может быть любое слово, вы не сможете предусмотреть все варианты
|
Ну можно в процессе работы добавлять эти слова в словарь исключений. =)
|
Код:
Код:
/[A-Z, А-Я].{2,}[\. |\!{,3} |\?{,3} |\?\! |\!\? ]/gm |
Кто будет)) Зависит от стилистики текста конечно. Нормальные междометия в русской речи - "А.", "О!" и даже акцентирование "И!"
Как вам такие конструкции - "1. Блаблабла" "а. Блаблабла" Или такие - "Вася т. 8913202.." Я не говорю что невозможно, я говорю что словарь будет огромным и увы, неоднозначным. |
Да. Wolsh. Правда. Поймать всё не реально. Даже создав базу исключений.
Ещё например, иногда, пишут не так "В. Жутков", а так "Вл. Жутков", и всё - последующий текст теряется (в том выражении которое я привёл). |
Часовой пояс GMT +4, время: 21:28. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.