Разделить строку на гласные и согласные

Есть ли в Python простой способ разделить строку на отдельные сегменты с гласными и согласными символами?

Пример

на входе:

"ОСТА'ТЬСЯ"

(симовл ' после гласной обозначает ударение на неё)

на выходе получаем:

["О", "СТ", "А'", "ТЬС", "Я"]

То есть слово получается разделено на сегменты, в каждом из которых либо только гласные, идущие в слове подряд, либо только согласные, идущие в слове подряд.


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

Автор решения: black1277
import re

def split_consonants(text):
    # Регулярное выражение для поиска кластеров гласных (включая ударение) или согласных
    pattern = r"[аАеЕёЁиИоОуУыЫэЭюЮяЯ']+|[^аАеЕёЁиИоОуУыЫэЭюЮяЯ']+"
    segments = re.findall(pattern, text)
    return segments

text = "ОСТА'ТЬСЯ"
print(split_consonants(text))
→ Ссылка