Форум сайта python.su
0
Есть строчка вида HappyNewYear, надо разбить по прописным буквам и получить Happy New Year
Весь моск сломал.
Python 2.7.8 (default, Nov 23 2014, 03:19:25)
on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import re >>> str_re = 'HappyNewYear' >>> new_str_re = re.sub(r'([A-Z]{1})', ' \1', str_re) >>> print new_str_re appy ew ear
Отредактировано stahh (Ноя. 29, 2014 15:00:06)
Офлайн
34
print ' '.join(re.findall('[A-Z][a-z]*', 'HappyNewYear'))
Отредактировано GreyZmeem (Ноя. 29, 2014 14:53:31)
Офлайн
0
Спасибо. А сабом почему не работает? Оно ведь заменяется,но на какую-то хрень.
Офлайн
253
stahhскобки потому что у sub 0 не есть все найденное.
Весь моск сломал.
>>> re.sub("([A-Z])",r" \1",'HappyNewYear') ' Happy New Year'
Отредактировано doza_and (Ноя. 29, 2014 15:46:25)
Офлайн
857
>>> import re >>> >>> s = 'HappyNewYear' >>> >>> r = re.sub(r'(?<=.)([A-Z])', r' \1', s) >>> r 'Happy New Year' >>>
Отредактировано py.user.next (Ноя. 30, 2014 02:10:03)
Офлайн