← Volver

Cómo quitar tildes de una cadena

Para quitar los tildes de las cinco vocales, basta con diseñar una simple función que se encargue de ello vía str.replace().

def normalize(s):
replacements = (
("á", "a"),
("é", "e"),
("í", "i"),
("ó", "o"),
("ú", "u"),
)
for a, b in replacements:
s = s.replace(a, b).replace(a.upper(), b.upper())
return s

print(normalize("¡Hólá, múndó!"))
print(normalize("¡HÓLÁ, MÚNDÓ!"))

Ahora bien, para normalizar todo tipo de "decoraciones", incluyendo diéresis y otros glifos, véase el artículo Convertir texto Unicode a ASCII de 7 bits.

¿Alguna duda sobre este código? ¡Preguntanos en el foro!