Tengo una cadena Unicode en Python, y me gustaría eliminar todos los acentos (signos diacríticos).¿Cuál es la mejor manera de eliminar acentos en una cadena unicode de Python?
me encontré en la web una manera elegante de hacer esto en Java:
- convertir la cadena Unicode a su forma normalizada de longitud (con un carácter independiente para las letras y los signos diacríticos)
- eliminar todos los caracteres cuyo tipo Unicode es "diacrítico".
¿Debo instalar una biblioteca como pyICU o es posible con la biblioteca estándar de python? ¿Y qué hay de Python 3?
Nota importante: me gustaría evitar el código con una asignación explícita de los caracteres acentuados a su contraparte no acentuada.
Sí, esta es una mejor solución que simplemente quitar los acentos. Proporciona transliteraciones mucho más útiles para los lenguajes que tienen convenciones para escribir palabras en ASCII. –
Parece que funciona bien con los chinos, pero la transformación del nombre francés "François" desafortunadamente da "FranASSois", que no es muy bueno, en comparación con el "Francois" más natural. – EOL
depende de lo que intentes lograr. por ejemplo, estoy haciendo una búsqueda ahora, y no quiero transcribir el griego/ruso/chino, solo quiero reemplazar "ą/ę/ś/ć" por "a/e/s/c" – kolinko