Eu sei sobre islower
e isupper
, mas você pode verificar se esse caractere é ou não uma carta? Por exemplo:
>>> s = 'abcdefg'
>>> s2 = '123abcd'
>>> s3 = 'abcDEFG'
>>> s[0].islower()
True
>>> s2[0].islower()
False
>>> s3[0].islower()
True
Existe alguma maneira de simplesmente perguntar se é um personagem além de fazer .islower()
ou .isupper()
?
character.isalnum() or character == "_"
.Respostas:
Você pode usar
str.isalpha()
.Por exemplo:
Resultado:
fonte
>>> print [x.isalpha() for x in u'Español-한국어']
dá a você [Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Falso, Verdadeiro, Verdadeiro, Verdadeiro] como esperadoRetorna verdadeiro se todos os caracteres na string são alfabéticos e há pelo menos um caractere, caso contrário, retorna falso. Caracteres alfabéticos são aqueles definidos no banco de dados de caracteres Unicode como “Letra”, ou seja, aqueles com propriedade de categoria geral sendo “Lm”, “Lt”, “Lu”, “Ll” ou “Lo”. Observe que isso é diferente da propriedade “Alfabética” definida no Padrão Unicode.
Em python2.x:
Em python3.x:
Este código funciona:
fonte
Descobri uma boa maneira de fazer isso usando uma função e um código básico. Este é um código que aceita uma string e conta o número de letras maiúsculas, letras minúsculas e também 'outras'. Outro é classificado como espaço, sinal de pontuação ou mesmo caracteres japoneses e chineses.
fonte
str.isalpha
é muito mais fácil que 'data = "abcdefg hi j 12345"
Resultado:
Ao usar
str.isalpha()
você pode verificar se é uma carta.fonte
Isso funciona:
fonte
Isso funciona:
fonte