Comment mettre en majuscule des mots contenant des caractères non-ASCII en Python? Est-il possible d'ajuster la méthode capitalize()
de string
pour cela?Capitalisation de mots non-ASCII en Python
5
A
Répondre
10
Utilisez des chaînes Unicode:
# coding: cp1252
print u"é".capitalize()
# Prints É
Si tout ce que vous avez est une chaîne 8 bits, décodent en Unicode premier:
# coding: cp1252
print "é".decode('cp1252').capitalize()
# Prints É
Si vous avez besoin alors comme une chaîne 8 bits à nouveau, encoder:
# coding: cp1252
print "é".decode('cp1252').capitalize().encode('cp1252')
# Prints É (assuming your terminal is happy to receive cp1252)
1
capitalize()
devrait fonctionner ™ pour les chaînes Unicode.
http://unicode.org/Public/UNIDATA/SpecialCasing.txt dit que ce n'est pas si simple même si les paramètres régionaux ne sont pas pris en considération – jfs