¿Alguien podría explicarme este comportamiento extraño? Espero que ambos reemplacen los métodos para que funcionen o para que no funcionen al mismo tiempo. ¿Soy solo yo o hay alguien que no encuentre esto coherente?Comportamiento extraño de re.sub con cadenas utf-8
>>> u'è'.replace("\xe0","")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in range(128)
>>> re.sub(u'è','\xe0','',flags=re.UNICODE)
''
(Tenga en cuenta que no estoy pidiendo una explicación de por qué u'è'.replace ("\ xe0", "") genera un error!)
'unicode.replace' no es el mismo método que' re.sub'. – Daenyth
Por supuesto. Y mi punto es que deberían comportarse coherentemente para las mismas entradas. – luke14free
Son preguntas como esta las que llevaron a la aplicación más estricta de cadenas Unicode vs. Byte en Python 3. –