Truc: Enlever les accents d'une chaîne

Le
Jan Vorwerk
Salut à tous,

J'écris une fonction de recherche dans des noms de fichiers, et le
problème est bien sûr de trouver le nom "sauvés" quand on cherche
"sauve" ou vice-versa.

Après bien des recherches infructueuses, j'ai trouvé une
solutionalors je me suis dit que je vous ferais bien partager ma
trouvaille (j'avais aussi mis à jour un wiki sur le web il y a qq semaines):


import unicodedata

def cleanString(s):
"""Removes all accents from the string"""
if isinstance(s,str):
s = unicode(s,"utf8","replace")
s=unicodedata.normalize('NFD',s)
return s.encode('ascii','ignore')


A++
Jan
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Laurent Pointal
Le #627679
Salut à tous,

J'écris une fonction de recherche dans des noms de fichiers, et le
problème est bien sûr de trouver le nom "sauvés" quand on cherche
"sauve" ou vice-versa.

Après bien des recherches infructueuses, j'ai trouvé une
solution...alors je me suis dit que je vous ferais bien partager ma
trouvaille (j'avais aussi mis à jour un wiki sur le web il y a qq
semaines):


Wiki pythonfr...

http://wikipython.flibuste.net/moin.py/JouerAvecUnicode#head-1213938516c633958921591439c33d202244e2f4

Il y a ma première (mauvaise) solution, et d'autres meilleurs y ont été
ajoutées... dont la tienne (merci si c'est toi qui l'y a mise).



---------------------------------------
import unicodedata

def cleanString(s):
"""Removes all accents from the string"""
if isinstance(s,str):
s = unicode(s,"utf8","replace")
s=unicodedata.normalize('NFD',s)
return s.encode('ascii','ignore')
---------------------------------------

A++
Jan


Jan Vorwerk
Le #627393
Laurent Pointal a écrit , le 20.06.2007 09:12:
Salut à tous,

J'écris une fonction de recherche dans des noms de fichiers, et le
problème est bien sûr de trouver le nom "sauvés" quand on cherche
"sauve" ou vice-versa.

Après bien des recherches infructueuses, j'ai trouvé une
solution...alors je me suis dit que je vous ferais bien partager ma
trouvaille (j'avais aussi mis à jour un wiki sur le web il y a qq
semaines):


Wiki pythonfr...

http://wikipython.flibuste.net/moin.py/JouerAvecUnicode#head-1213938516c633958921591439c33d202244e2f4


Il y a ma première (mauvaise) solution, et d'autres meilleurs y ont été
ajoutées... dont la tienne (merci si c'est toi qui l'y a mise).


Oui, c'était moi effectivement... je ne retrouvais plus le site...


A++
Jan


Publicité
Poster une réponse
Anonyme