python - problemy z wyrażeniem regularnym i Unicode
Cześć Mam problem w Pythonie. Próbuję wyjaśnić swój problem przykładem.
Mam ten ciąg:
>>> string = 'ÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿÀÁÂÃ'
>>> print string
ÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿÀÁÂÃ
i chcę na przykład zastąpić znaki inne niż Ñ, Ã, ï za pomocą „”
próbowałem:
>>> rePat = re.compile('[^ÑÃï]',re.UNICODE)
>>> print rePat.sub("",string)
�Ñ�����������������������������ï�������������������Ã
Otrzymałem to . Myślę, że tak się dzieje, ponieważ tego typu znaki w pytonie są reprezentowane przez dwie pozycje w wektorze: na przykład xc3 x91 = Ñ. W tym celu, kiedy wyrażam regolar, wszystkie c3 nie są podstawione. Jak mogę zrobić tego typu sub ?????
Dzięki Franco