Найти - Пользователи
Полная версия: Помогите с регекспом
Начало » Центр помощи » Помогите с регекспом
1
stahh
Есть строчка вида 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
В тексте это выглядит \x01appy \x01ew \x01ear
Аналогичный вариант на перл работает без проблем
$str = ‘HappyNewYear’;
$str =~ s/({1})/ $1/g;
print $str.“\n”;
$ Happy New Year

GreyZmeem
print ' '.join(re.findall('[A-Z][a-z]*', 'HappyNewYear'))
stahh
Спасибо. А сабом почему не работает? Оно ведь заменяется,но на какую-то хрень.
doza_and
stahh
Весь моск сломал.
скобки потому что у sub 0 не есть все найденное.
потому что r надо ставить для экранировки слеша.
>>> re.sub("([A-Z])",r" \1",'HappyNewYear')
' Happy New Year'
ps
не моск а мозг
перл крут.
py.user.next
>>> import re
>>> 
>>> s = 'HappyNewYear'
>>> 
>>> r = re.sub(r'(?<=.)([A-Z])', r' \1', s)
>>> r
'Happy New Year'
>>>
Без пробела в начале.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB