Estoy haciendo un filtro en el que compruebo si una cadena Unicode (codificación utf-8) no contiene caracteres en mayúscula (en todos los idiomas). Me parece bien que la secuencia no contenga ningún personaje encamisado.Python: ¿Cómo comprobar si una cadena Unicode contiene un carácter encajonado?
Por ejemplo: 'Hello!' no pasará el filtro, pero "!" debería pasar el filtro, ya que "!" no es un personaje encajonado
Planeé utilizar el método islower(), pero en el ejemplo anterior, "!". Islower() devolverá False.
De acuerdo con Python Docs, "el método Unicode de python islower() devuelve True si los caracteres encasillados de la cadena Unicode son minúsculos y la cadena contiene al menos un carácter encajonado; de lo contrario, devuelve False".
Dado que el método también devuelve False cuando la cadena no contiene ningún carácter encajonado, es decir. "!", Quiero verificar si la cadena contiene algún carácter encajonado.
Algo como esto ....
string = unicode("[email protected]#$%^", 'utf-8')
#check first if it contains cased characters
if not contains_cased(string):
return True
return string.islower():
¿Alguna sugerencia para una función contains_cased()?
¿O probablemente un enfoque de implementación diferente?
Gracias!
Parece que la respuesta que ha aceptado es incorrecta. Ver mi respuesta –