Conozco islower
y isupper
, pero ¿puedes comprobar si ese personaje es una letra o no? Por ejemplo:
>>> s = 'abcdefg'
>>> s2 = '123abcd'
>>> s3 = 'abcDEFG'
>>> s[0].islower()
True
>>> s2[0].islower()
False
>>> s3[0].islower()
True
¿Hay alguna forma de simplemente preguntar si es un personaje además de hacer .islower()
o .isupper()
?
character.isalnum() or character == "_"
.Respuestas:
Puede utilizar
str.isalpha()
.Por ejemplo:
Salida:
fuente
>>> print [x.isalpha() for x in u'Español-한국어']
le da [Verdadero, Verdadero, Verdadero, Verdadero, Verdadero, Verdadero, Verdadero, Falso, Verdadero, Verdadero, Verdadero] como se esperabaDevuelve verdadero si todos los caracteres de la cadena son alfabéticos y hay al menos un carácter, falso en caso contrario. Los caracteres alfabéticos son aquellos definidos en la base de datos de caracteres Unicode como “Letra”, es decir, aquellos cuya propiedad de categoría general es “Lm”, “Lt”, “Lu”, “Ll” o “Lo”. Tenga en cuenta que esto es diferente de la propiedad "Alfabética" definida en el estándar Unicode.
En python2.x:
En python3.x:
Este código funciona:
fuente
Encontré una buena manera de hacer esto usando una función y un código básico. Este es un código que acepta una cadena y cuenta el número de letras mayúsculas, minúsculas y también 'otros'. Otro se clasifica como un espacio, un signo de puntuación o incluso caracteres japoneses y chinos.
fuente
str.isalpha
aunque es mucho más fácil 'data = "abcdefg hi j 12345"
Salida:
Utilizando
str.isalpha()
puedes comprobar si es una letra.fuente
Esto funciona:
fuente
Esto funciona:
fuente