Je fais un filtre dans lequel je vérifie si une chaîne unicode (encodage utf-8) ne contient pas de caractères majuscules (dans toutes les langues). Cela me convient si la chaîne ne contient aucun caractère.Python: Comment vérifier si une chaîne unicode contient un caractère cased?
Par exemple: 'Bonjour!' ne passera pas le filtre, mais "!" devrait passer le filtre, puisque "!" n'est pas un personnage encapsulé.
J'ai prévu d'utiliser la méthode islower(), mais dans l'exemple ci-dessus, "!". Islower() retournera False. Selon la documentation Python, "La méthode python unicode islower() renvoie True si les caractères encapsulés de la chaîne unicode sont en minuscules et que la chaîne contient au moins un caractère encapsulé, sinon elle renvoie False."
Depuis la méthode renvoie également False lorsque la chaîne ne contient aucun caractère cased, à savoir. "!", Je veux vérifier si la chaîne contient un caractère quelconque.
Quelque chose comme ça ....
string = unicode("[email protected]#$%^", 'utf-8')
#check first if it contains cased characters
if not contains_cased(string):
return True
return string.islower():
Toutes les suggestions pour une fonction contains_cased()?
Ou probablement une approche de mise en œuvre différente?
Merci!
La réponse que vous avez acceptée semble être incorrecte. Vois ma réponse. –