Разделить текст на абзацы, а их на предложения
Есть 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) #добавили список предложений в список абзацев