How can I check if character in a string is a letter? (Python) How can I check if character in a string is a letter? (Python) python python

How can I check if character in a string is a letter? (Python)


You can use str.isalpha().

For example:

s = 'a123b'for char in s:    print(char, char.isalpha())

Output:

a True1 False2 False3 Falseb True


str.isalpha()

Return true if all characters in the string are alphabetic and there is at least one character, false otherwise. Alphabetic characters are those characters defined in the Unicode character database as “Letter”, i.e., those with general category property being one of “Lm”, “Lt”, “Lu”, “Ll”, or “Lo”. Note that this is different from the “Alphabetic” property defined in the Unicode Standard.

In python2.x:

>>> s = u'a1中文'>>> for char in s: print char, char.isalpha()...a True1 FalseTrueTrue>>> s = 'a1中文'>>> for char in s: print char, char.isalpha()...a True1 FalseFalseFalseFalseFalseFalseFalse>>>

In python3.x:

>>> s = 'a1中文'>>> for char in s: print(char, char.isalpha())...a True1 FalseTrueTrue>>>

This code work:

>>> def is_alpha(word):...     try:...         return word.encode('ascii').isalpha()...     except:...         return False...>>> is_alpha('中国')False>>> is_alpha(u'中国')False>>>>>> a = 'a'>>> b = 'a'>>> ord(a), ord(b)(65345, 97)>>> a.isalpha(), b.isalpha()(True, True)>>> is_alpha(a), is_alpha(b)(False, True)>>>


I found a good way to do this with using a function and basic code.This is a code that accepts a string and counts the number of capital letters, lowercase letters and also 'other'. Other is classed as a space, punctuation mark or even Japanese and Chinese characters.

def check(count):    lowercase = 0    uppercase = 0    other = 0    low = 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'    upper = 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'    for n in count:        if n in low:            lowercase += 1        elif n in upper:            uppercase += 1        else:            other += 1    print("There are " + str(lowercase) + " lowercase letters.")    print("There are " + str(uppercase) + " uppercase letters.")    print("There are " + str(other) + " other elements to this sentence.")