Python 3.3 ajoute la méthode casefold
au type str, mais dans 2.x je n'ai rien. Quelle est la meilleure façon de contourner ce problème?Comment plier une chaîne dans Python 2?
Répondre
Découvrez py2casefold.
>>> from py2casefold import casefold
>>> print casefold(u"tschüß")
tschüss
>>> casefold(u"ΣίσυφοςfiÆ") == casefold(u"ΣΊΣΥΦΟσFIæ") == u"σίσυφοσfiæ"
True
[Il ne semble pas très bien testé] (https://github.com/rwarren/py2casefold/blob/39a14b8971040b8f6015b7fa1a401c19c121175f/tests/test_casefold.py) – jfs
J.F. Sebastian - que voulez-vous ajouter? Pour référence, [ici] (https://hg.python.org/cpython/file/d4669f43d05f/Lib/test/test_unicode.py#l568) correspond à l'étendue du test unitaire 'str.casefold' de python 3. – Russ
voir si vous réussirez à tirer un test utile de ['regex: test_case_folding()'] (https://bitbucket.org/mrabarnett/mrab-regex/src/cbdb3caaee9ec68fdc2bff7e30902fb1dbdd3fd7/regex_3/Python/test_regex.py? at = default & fileviewer = fichier-view-default # test_regex.py-571) – jfs
Si PyICU est déjà installé; vous pouvez l'utiliser pour définir casefold()
. En utilisant the same example strings as in @Russ' answer:
>>> import icu
>>> casefold = lambda u: unicode(icu.UnicodeString(u).foldCase())
>>> print casefold(u"tschüß")
tschüss
>>> casefold(u"ΣίσυφοςfiÆ") == casefold(u"ΣΊΣΥΦΟσFIæ") == u"σίσυφοσfiæ"
True
>>> icu.UNICODE_VERSION
'6.3'
>>> import unicodedata
>>> unicodedata.unidata_version
'5.2.0'
- 1. Comment changer une chaîne en Unicode dans Python 2?
- 2. F # -> Plier avec 2 paramètres
- 3. Diviser une chaîne en 2 en Python
- 4. Comment convertir une chaîne en octets en Python 2
- 5. python - Conversion d'une chaîne dans la liste de python 2
- 6. Python: Itérer sur une chaîne de 2 caractères
- 7. Plier automatiquement #defines dans vim
- 8. comment plier un png rectangulaire sur une circulaire sur iOS?
- 9. python scinde une chaîne avec au moins 2 espaces blancs
- 10. Comment plier une région insérée avec l'API Open Tools?
- 11. changement 2 octets dans une chaîne
- 12. Python findall dans une chaîne
- 13. compresser une chaîne dans python 3?
- 14. Comment faire pour supprimer Plier non connecté
- 15. Comment concat une chaîne en Python
- 16. "Plier" un UIView en 3D
- 17. Initialement plier certains blocs (code) dans phpstorm?
- 18. Comment mettre une variable dans cette chaîne en Python?
- 19. découpant une chaîne Python dans une liste
- 20. Comment modifier un seul caractère dans une chaîne, en Python?
- 21. Python: inverser une chaîne
- 22. Comment puis-je définir une chaîne dans une fonction python?
- 23. Comment exécuter une chaîne SQL directement dans ASP.NET MVC 2?
- 24. Comment puis-je combiner 2 variables javascript dans une chaîne?
- 25. Can Aptana peut-il plier le code?
- 26. Comment plier php/html dans gvim sous Windows?
- 27. python: nettoyage une chaîne
- 28. comment plier la vue du milieu dans android?
- 29. chaîne dans une liste en Python
- 30. Trouver backslash (\) dans une chaîne --Python
avez-vous besoin de traiter avec des chaînes non-anglais? – roippi
Oui. Je veux exécuter l'algorithme de pliage de cas Unicode. –