p = re.compile(r'((?<=[\.\?!]\s)(\w+)|(^\w+))')
def cap(match):
return(match.group().capitalize())
capitalized_1 = p.sub(cap, Inputfile)
with codecs.open('o.txt', mode="w", encoding="utf_8") as file:
file.write(capitalized_1)
Я использую регулярное выражение для заглавных букв после.?!что код выше делает.Но он убирает метки абзаца (разрыва страницы) и объединяет его в один большой абзац.
Как сохранить метки абзаца и предотвратить слипание?
Входной файл:
на вкладке вставки, галереи включают элементы, которые предназначены для согласования с общим видом вашего документа.Вы можете использовать эти галереи для вставки таблиц, верхних и нижних колонтитулов, списков, титульных страниц и других стандартных блоков документов.когда вы создаете рисунки, диаграммы или диаграммы, они также согласовываются с вашим текущим внешним видом документа.
Вы можете легко изменить форматирование выделенного текста в тексте документа, выбрав внешний вид для выбранного текста из быстрых стилей.Галерея на главной вкладке.Вы также можете отформатировать текст напрямую, используя другие элементы управления на вкладке.большинство элементов управления предлагают использовать внешний вид из текущей темы или использовать формат, который вы указали напрямую.
Текущий вывод
НаВставка вкладки, галереи включают элементы, которые предназначены для согласования с общим видом вашего документа.Вы можете использовать эти галереи для вставки таблиц, верхних и нижних колонтитулов, списков, титульных страниц и других стандартных блоков документов.Когда вы создаете рисунки, диаграммы или диаграммы, они также согласуются с вашим текущим видом документа.Вы можете легко изменить форматирование выделенного текста в тексте документа, выбрав внешний вид выделенного текста в быстрой галерее стилей на главной вкладке.Вы также можете отформатировать текст напрямую, используя другие элементы управления на вкладке.большинство элементов управления предлагают использовать внешний вид из текущей темы или использовать формат, который вы указали напрямую.
Ожидаемый результат:
Вкл.На вкладке «Вставка» галереи содержат элементы, разработанные для согласования с общим видом вашего документа.Вы можете использовать эти галереи для вставки таблиц, верхних и нижних колонтитулов, списков, титульных страниц и других стандартных блоков документов.Когда вы создаете рисунки, диаграммы или диаграммы, они также согласуются с вашим текущим видом документа.
Вы можете легко изменить форматирование выделенного текста в тексте документа, выбрав внешний вид выделенного текста в галерее быстрых стилей на главной вкладке.Вы также можете отформатировать текст напрямую, используя другие элементы управления на вкладке.Большинство элементов управления предлагают использовать внешний вид из текущей темы или использовать формат, который вы указали напрямую.
Редактировать 1:
import re,codecs
def capitalize(match):
return ''.join([match.group(1), match.group(2).capitalize()])
with codecs.open('i.txt', encoding='utf-8') as f:
text = f.read()
pattern = re.compile('(^|[.?!]\s+)(\w+)?')
print(pattern.sub(capitalize, text))
Выдает ошибку при попытке прочитатьэто из файла, основанного на подходе с ответом 1.
return ''.join([match.group(1), match.group(2).capitalize()])
AttributeError: 'NoneType' object has no attribute 'capitalize'