fork(12) download
  1. # ¿Cómo puedo reemplazar las letras con tildes por las mismas sin tilde, pero no la “ñ”?
  2. # https://es.stackoverflow.com/q/135707/127
  3.  
  4. import re
  5. from unicodedata import normalize
  6.  
  7. s = "Pingüino: Málãgà ês uñ̺ã cíudãd fantástica y èn Lögröñö me pica el... moñǫ̝̘̦̞̟̩̐̏̋͌́ͬ̚͡õ̪͓͍̦̓ơ̤̺̬̯͂̌͐͐͟o͎͈̳̠̼̫͂̊"
  8.  
  9.  
  10. # -> NFD y eliminar diacríticos
  11. s = re.sub(
  12. r"([^n\u0300-\u036f]|n(?!\u0303(?![\u0300-\u036f])))[\u0300-\u036f]+", r"\1",
  13. normalize( "NFD", s), 0, re.I
  14. )
  15.  
  16. # -> NFC
  17. s = normalize( 'NFC', s)
  18.  
  19. print( s )
Success #stdin #stdout 0.04s 10128KB
stdin
Standard input is empty
stdout
Pinguino: Malaga es una ciudad fantastica y en Logroño me pica el... moñoooo