Remplacement chaine exacte comportant des accents
Bonjour,
Je suis en difficulté avec les regex :
je voudrais remplacer certains mots par des étiquettes du style <MOT>israélien</MOT>, mais le découpage ne se fait pas sur le mot exact. Dans mon texte, j'ai «israélien» et «lien», ce qui fait un découpage israé<MOT>lien></MOT> au lieu de <MOT>israélien></MOT> !!
Voici mon code :
Code:
1 2 3 4 5 6 7
| texte = "espagnol et israélien. Voici le lien."
mots = ["espagnol","israélien","lien"]
for mot in mots:
avant = r''\b''+mot+r''\b''
apres = r''<MOT>''+mot+r''</MOT>''
texte = re.sub(avant,apres,texte)
print texte |
Est-il possible d'avoir un vrai découpage sur les mots ? Je pensais que les \b suffisaient pour ne pas avoir de problèmes:?. Si je supprime l'accent sur israélien, il n'y a plus de problème donc c'est sûrement l'accent qui bloque. Mais je ne vois pas comment faire...
Merci à vous :P