Разделить текст на абзацы, а их на предложения

Есть txt файл с текстом, несколько абзацев и т.д. Как сделать весь текст списком, а каждое слово с запятыми и точками элементами списка я знаю. Но как сделать каждый абзац элементом списка и одновременно сделать его списком раздленным на предложения, чтобы каждое предложение было элементами списка не могу сообразить.


Ответы (1 шт):

Автор решения: ganz

Задача проста,- абзац есть перенос строки то есть разбивается по символу '\n', или же '\r\n' в зависимости от платформы. С предложением посложнее: оно может оканчиваться на точку, вопросительный знак и тд... следовательно исспользуем регулярку

import re
pattern='[\.|\.\.\.|\!|\?]' #символы окончания предложений точка, многоточие итп
result=[]
with open('file.txt') as file:
 for line in file.readlines(): #readline для больших файлов #те разбили на абзацы
   block=list(re.split(pattern,line)) # разбили абзац на предложения
   result.append(block) #добавили список предложений в список абзацев
→ Ссылка