Сообщить об ошибке.

Деление строки по заглавным буквам в Python

Для деления текста или строки по заглавным буквам воспользуемся позитивной опережающей проверкой регулярных выражений и функцией re.split() модуля re.

# исходная строка
>>> line = 'Мама мыла раму, а Маша помогала. Отрывок из прописи 1 класса.'
>>> import re
>>> re.split(r'\s+(?=[А-Я])', line)
# ['Мама мыла раму, а', 'Маша помогала.', 'Отрывок из прописи 1 класса.']

Для деления по заглавным буквам строки записанной слитно, необходимо сначала изменить строку, добавить пробел перед заглавной буквой, а потом разделить строку по разделителю "пробел" стандартным методом str.split().

Для добавления пробела перед заглавной буквой воспользуемся функцией re.sub() модуля re, а в регулярном выражении используем группу с захватом и обратную ссылку.

# исходная строка
>>> line = 'МамаМылаРаму'
>>> import re
>>> re.sub(r'([А-Я])', r' \1', line).split()
# ['Мама', 'Мыла', 'Раму']