-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

El 10/12/10 00:07, Luis Miguel Morillas escribió:
> Cómo hacemos esto en python? Quiero que se compare como similar
> 'tecnica' y 'técnica' por ejemplo.

Apunta la receta:

import unicodedata

def textplain(s):

  def normalize(c):
    return unicodedata.normalize("NFD",c)[0]

    return ''.join(normalize(c) for c in s)



Si van a ser cadenas muy largas o buscas "eficiencia" por encima de
todo, y si además quieres que tampoco sea sensible mayúsculas y
minúsculas, entonces se podría hacer algo así:

import unicodedata

def eq_plain(s1,s2):

  def normalize(c):
    return unicodedata.normalize("NFD",c)[0].upper()

  return all( (normalize(c1)==normalize(c2)) for (c1,c2) in zip(s1,s2))



NOTA: sólo funciona si los argumentos están en unicode
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJNAXvoAAoJEFdWyBWwhL4FxywH/0U2FrXsGWxlwVrkTxeJO+xv
qCkuxrWQzo44IX7qKbiU+Tfkz9sfQLgIudRH5WQ2R53SRZOcp3hsyi1Qw/k5WC0/
6+vwPjL8Wp9sJQ3Aeq0l1HNGe1wYDoUrz822bxXNr6LM1FmmVKwS83VQ8IKW7xYB
dGGvoo9w5sZv8UPGvEG/HxUnGjVsNQIZtlRjaU9KHLesr7h70de4vMUzhhz3sIYg
Lx0DxjpNv33YDzpi4mQ/DKkH/dJoZuu4w0pN/QnZNuurJgrZ2i7OXy7MsluZXqPK
gVDcNak1KRtFJjFJesR0LY6+wI4UXgyF/1pCs5VMun+f2Tk7bRbk7LfrU5g/lBc=
=brSa
-----END PGP SIGNATURE-----
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a