Новичок в Питоне. Налетел на нежданчик. rstrip съедает букву 'я', если она примыкает к удаляемому хвосту:
Python 2.5.2 (r252:60911, Mar 11 2009, 14:39:42)
[GCC 4.1.2 (Gentoo 4.1.2 p1.1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print u'яться'.rstrip(u'ться')
>>> print u'яться'.rstrip(u'ься')
ят
>>>
Эксперимены показали, что страдает только 'я'.
Все в utf-8.
Баг в Питоне или в моих руках?
18.03.09 10:10: Перенесено из 'Прочее'
Здравствуйте, vnp, Вы писали:
vnp>Эксперимены показали, что страдает только 'я'.
vnp>Все в utf-8.
Не только "я"
>>> 'rsdnrrss_ddnnrsdn'.rstrip('rsdn')
'rsdnrrss_'
>>>
vnp>Баг в Питоне или в моих руках?
Это не баг. rstrip рассматривает полученный аргумент не как строку, а как множество символов. Т.е. удаляет с конца строки любой символ из переданного ей в аргументах множества до тех пор, пока в исходной строке не встретится символ, отсутствующий в этом множестве.
Собственно, это отражено в
документации.