0 / 0 / 0
Регистрация: 06.06.2014
Сообщений: 16
|
||||||
1 | ||||||
Извлечение предложений из строки с использованием регулярных выражений10.12.2014, 01:28. Показов 1040. Ответов 2
Метки нет (Все метки)
Промаялся весь вечер, облазил весь msdn, уже не знаю что делать.
В общем, нужно разбить строку на предложения. Шаблон, написанный мною, находит первое предложение и походу просто забивает на строку дальше, хотя должен бы искать дальше. Текст может быть абсолютно любой, он считывается из блокнота. Очень на помощь, а то весь замаялся уже. Либо буду рад, если сможете предложить другой адекватный способ решения задачи. Просто перебирать посимвольно строку до первой точки можно, но глупо. Разве что как единственный вариант тут. У нас один парень уже так хотел сдать: ему преподаватель устроил разнос, мол, если это лог чего-нибудь, то такой способ тупо не справится. Пишется под консоль. Return добавлен чтобы дебажить шаблон, я очень долго пытался.
0
|
10.12.2014, 01:28 | |
Ответы с готовыми решениями:
2
Бегущая строка с использованием регулярных выражений Переделать программу с использованием регулярных выражений Переделать программу вычисления с использованием регулярных выражений Проверка правильности ввода стоимости с использованием регулярных выражений |
307 / 284 / 102
Регистрация: 06.05.2014
Сообщений: 861
|
|
10.12.2014, 16:44 | 2 |
Модификатор "плюс" - жадный по своей сущности, он выбирает один или более символов, но всегда как можно больше. Поэтому если у тебя в строке (line) будет не одно, а два и более предложений, то "плюс" выберет всё до последней точки.
Как вариант, можно подставить такой шаблон: @".+?[.!?]" Ещё можно банально Split'еть line по трём символам - точка, вопросительный и восклицательный знак: line.Split(new Char [] {'.', '!', '?'});
1
|
0 / 0 / 0
Регистрация: 06.06.2014
Сообщений: 16
|
|
10.12.2014, 20:30 [ТС] | 3 |
BozKurt, спасибо. У меня как-то пока как-то наоборот выходит, он берёт пока только до первой точки, а всё остальное в MatchCollection не заносит. Хотя, когда я тестировал этот шаблон на каком-то сайте, где в риал тайме подсвечивались, подходящие части текста, там он мог так сделать.
А в твоём варианте как выходит? Любой символ, встречающийся 1 или более раз, встречающийся 0 или 1 раз. Как-то противоречиво, но потестим сейчас. А да теперь вспомнил, что было такое, ладно пусть будет на крайний случай. Добавлено через 38 минут Жесть, я не знаю как, но этот паттерн работает именно, так как надо. Спасибо большое! А то сколько бы я с ней ещё сидел.
0
|
10.12.2014, 20:30 | |
10.12.2014, 20:30 | |
Помогаю со студенческими работами здесь
3
Проверка правильности введенных дат с использованием регулярных выражений Написать программу с использованием регулярных выражений, выполняющую проверку правильности номера телефона Проверка строки с пом. регулярных выражений Запрет регулярных выражений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |