Добавить пробелы в адресах

Подскажите пожалуйста регулярное выражение для установки пробелов в слитных адресах.

Что есть:

pr.Lunacharskogo11k1_lit
Stachek47A
Industrialnyj26k24

Что нужно получить:

pr.Lunacharskogo 11 k1_lit
Stachek 47A
Industrialnyj 26 k24

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


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

Автор решения: Алексей Белкин

Программно можно так:

str1 = 'pr.Lunacharskogo11k1_lit'
index_word = []
index_digit = []
result_str = ''
for index, character in enumerate(str1):
    if character.isdigit():
        index_digit.append(index)
        try:
            result_str += ' ' + str1[index_word[0]: index_word[-1] + 1]
            index_word = []
        except:
            pass
    else:
        index_word.append(index)
        try:
            result_str += ' ' + str1[index_digit[0]:index_digit[-1] + 1]
            index_digit = []
        except:
            pass
result_str = result_str[1:]
print(result_str)

Выдаст:

pr.Lunacharskog 1  
→ Ссылка
Автор решения: thelonelyangel

Регулярное выражение для разделения. Взято отсюда: ссылка

\d(?=[^_\d\W])|[^_\d\W](?=\d)
→ Ссылка