Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

supprimer accent

6 réponses
Avatar
Mr.Bilou
Bonjour .

Il y a t'il une méthode simple pour effacer les accents d'une chaîne de
caractère.

Pour l'instant je repertorie tous les cas, en les traitant 1 par 1.

Merci pour vos conseils.

6 réponses

Avatar
Jean
Bonjour .

Il y a t'il une méthode simple pour effacer les accents d'une chaîne de
caractère.

Pour l'instant je repertorie tous les cas, en les traitant 1 par 1.

Merci pour vos conseils.



http://groups.google.com/group/microsoft.public.fr.scripting/msg/8b67f8d01ca0ff5e?dmode=source&hl=fr

Amicalement,

--
Jean - JMST
Belgium

Avatar
MC
Bonjour !

La méthode de Jean s'appliquera bien à des chaînes de caractères codées
en ASCII étendu, de type cp1252, ou cp850 (en gros latin-1 ou latin-15)
(à deux détails près : confusion entre le humboldt allemand et le tréma
; les majuscules ne sont pas traitées).

Par contre, dans tous les autres cas, et notamment en Unicode, ça ne
marchera plus.

Pour ça, j'ai un bout de code, en Python, mais ce sera pour plus tard
dans la journée...

--
@-salutations

Michel Claveau
Avatar
Mr.Bilou
Mr.Bilou a couché sur son écran :
Il y a t'il une méthode simple pour effacer les accents d'une chaîne de
caractère.



Merci pour vos réponses .
Une recherche supplémentaire m'a permis de trouver ceci :
http://www.vbfrance.com/codes/VB6-SUPPRIMER-ACCENTS-CHAINE_33666.aspx

Avatar
Jean
les majuscules ne sont pas traitées).


si si :-)


Par contre, dans tous les autres cas, et notamment en Unicode, ça ne
marchera plus.

Pour ça, j'ai un bout de code, en Python, mais ce sera pour plus tard dans
la journée...


Ne pas oublier de retirer l'accent Belge :-)

Amicalement,

--
Jean - JMST
Belgium

Avatar
Jean
Mr.Bilou a couché sur son écran :
Il y a t'il une méthode simple pour effacer les accents d'une chaîne de
caractère.



Merci pour vos réponses .
Une recherche supplémentaire m'a permis de trouver ceci :
http://www.vbfrance.com/codes/VB6-SUPPRIMER-ACCENTS-CHAINE_33666.aspx


Ce n'est pas pour jouer le marchand de tapis :-) , mais l'utilisation
d'expressions régulières limite les boucles.

Amicalement,

--
Jean - JMST
Belgium


Avatar
Méta-MCI
Bonjour !

Comme promis, le petit bout de code Python, pour enlever les diacritiques
des caractères d'une chaîne Unicode :

import unicodedata

def suppression_diacritics(s):
def remove(char):
deco = unicodedata.decomposition(char)
if deco:
return unichr(int(deco.split()[0],16))
return char

return ''.join([remove(a) for a in s])

a=u"Noël èçà ¤ @"
print a
print suppression_diacritics(a)


Je précise que :
- le code n'est pas de moi
(http://wikipython.flibuste.net/moin.py/JouerAvecUnicode#head-1213938516c633958921591439c33d202244e2f4
)
- il peut y avoir des problèmes, suite à des histoires dans la définitions
des caractères Unicode. Par exemple, les caractères Katana ont des
correspondance en Ascii, mais leur décomposition Unicode n'enlève pas leurs
diacritiques (inexistants), avec, à la sortie, des caractères aléatoires, au
milieu de chaîne résultante.
- le résultat est une chaîne Unicode.

Principe : Les caractères Unicode sont composés d'un caractère de base,
éventuellement suivi du code du diacritique appliqué au caractère.

Rappel : les diacritiques, c'est tous les petits machines que l'on ajoute
aux caractères : accents, tilde, cédille, point, umboldt, rond en chef,
fatha, tréma, brève, crochet, palatalisation, etc. Mais il n'existe pas
d'accent belge !!!

Je termine ce discours pédant, en vous souhaitant une excellente sieste.

Michel Claveau