How to check if character in string is a letter? Python
所以我知道IsLower和Isupper,但我似乎不知道你是否可以检查这个字符是否是字母?
1 2 3 4 5 6 7 8 9 | Example: s = 'abcdefg' s2 = '123abcd' s3 = 'abcDEFG' s[0].islower() = True s2[0].islower()= False s3[0].islower()=True |
除了执行.isLower()或.isUpper()之外,还有什么方法可以询问它是字符吗?
您可以使用
一个例子:
1 2 3 4 5 6 7 8 9 | >>> s ="a123b" >>> for char in s: ... print char, char.isalpha() ... a True 1 False 2 False 3 False b True |
1 | str.isalpha() |
如果字符串中的所有字符都是字母,并且至少有一个字符,则返回true,否则返回false。字母字符是在Unicode字符数据库中定义为"字母"的字符,即具有"lm"、"lt"、"lu"、"ll"或"lo"之一的一般类别属性的字符。请注意,这与Unicode标准中定义的"字母"属性不同。
在Python 2.x中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | >>> s = u'a1中文' >>> for char in s: print char, char.isalpha() ... a True 1 False 中 True 文 True >>> s = 'a1中文' >>> for char in s: print char, char.isalpha() ... a True 1 False ? False ? False ? False ? False ? False ? False >>> |
在Python 3.x中:
1 2 3 4 5 6 7 8 | >>> s = 'a1中文' >>> for char in s: print(char, char.isalpha()) ... a True 1 False 中 True 文 True >>> |
这个代码工作:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | >>> 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) >>> |
我发现了一种使用函数和基本代码的好方法。这是一个接受字符串并计算大写字母、小写字母和"其他"字母数的代码。另一个被归类为空格、标点符号,甚至是日文和汉字。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 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.") |
此代码有效:
1 2 3 4 5 6 | str=raw_input("enter a string:") for char in word: if not char.isalpha(): sum=sum+1 if sum>0: print char |