In [1]:
import unicodedata
s = 'aepáéŕíóíúÁÉ'
trans_tab = dict.fromkeys(map(ord, u'\u0301\u0308'), None)
s = unicodedata.normalize('NFKC', unicodedata.normalize('NFKD', s).translate(trans_tab))
print(s)
Usando maketrans de str¶
También podemos usar la función maketrans de str
In [4]:
s = 'áéí el niño está en el avión'
a,b = 'áéíóúüñÁÉÍÓÚÜÑ','aeiouunAEIOUUN'
trans = str.maketrans(a,b)
print(s)
print(s.translate(trans))
Hola, el ejemplo Usando maketrans no funciona, alguien sabe porqué?
ResponderBorrarLes agradezco
Seguro debe ser la version de python que usas o que no tienes el modulo descargado
BorrarGracias, me funcionó el maketrans pero no el unicode. Usé python 3.8
ResponderBorrarMuchísimas gracias, me funciono el maketrans, nose si sirva el unicode porque no quize probarlo debido a que:
ResponderBorrar1. Tiene un modulo y eso hace que sea haga dependiente el programa sujeto a las reglas del modulo.
2. Se ve muchísimo mas complejo que el maketrans y eso lo hace un poco mas obsoleto a la hora de aplicarse.
3. Aun así cualquier persona puede programar a su gusto ya que hay muchísimas formas de hacer una sola cosa.
4. Saludos desde Colombia :D