pythonstringfind

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


I know about islower and isupper, but can you check whether or not that character is a letter? For Example:

>>> s = 'abcdefg'
>>> s2 = '123abcd'
>>> s3 = 'abcDEFG'
>>> s[0].islower()
True

>>> s2[0].islower()
False

>>> s3[0].islower()
True

Is there any way to just ask if it is a character besides doing .islower() or .isupper()?


Solution

  • You can use str.isalpha().

    For example:

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

    Output:

    a True
    1 False
    2 False
    3 False
    b True