所以我知道islower和isupper,但我似乎无法找出是否可以检查该字符是否是字母?如何检查字符串中的字符是否是字母? Python
Example:
s = 'abcdefg'
s2 = '123abcd'
s3 = 'abcDEFG'
s[0].islower() = True
s2[0].islower()= False
s3[0].islower()=True
有没有什么方法可以问问除了做.islower()或.isupper()之外的其他角色?
所以我知道islower和isupper,但我似乎无法找出是否可以检查该字符是否是字母?如何检查字符串中的字符是否是字母? Python
Example:
s = 'abcdefg'
s2 = '123abcd'
s3 = 'abcDEFG'
s[0].islower() = True
s2[0].islower()= False
s3[0].islower()=True
有没有什么方法可以问问除了做.islower()或.isupper()之外的其他角色?
您可以使用isalpha()
,请参阅该文档在http://docs.python.org/2/library/stdtypes.html
一个例子:
>>> s = "a123b"
>>> for char in s:
... print char, char.isalpha()
...
a True
1 False
2 False
3 False
b True
请注意,它是如此之好,它适用于各种字母: '>>> print [x.isalpha()foru'Español-한국어']'给你 [True,True,True,True ,True,True,True,False,True,True,True]如预期 – pryma 2017-09-15 09:37:14
str.isalpha()
返回true,如果字符串中的所有字符是字母,并至少有一个字符,假的除此以外。字母字符是在Unicode字符数据库中定义为“Letter”的那些字符,即具有一般类别属性为“Lm”,“Lt”,“Lu”,“Ll”或“Lo”之一的那些字符。请注意,这与Unicode标准中定义的“字母”属性不同。
在python2.x:
>>> 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
>>>
在python3.x:
>>> s = 'a1中文'
>>> for char in s: print(char, char.isalpha())
...
a True
1 False
中 True
文 True
>>>
此代码的工作:
>>> 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)
>>>
此代码的工作:
str=raw_input("enter a string:")
for char in word:
if not char.isalpha():
sum=sum+1
if sum>0:
print char
使用是==,如果a是假的 – 2017-04-17 13:08:35
好吧谢谢@Legolas Bloom – omry 2017-04-23 12:55:43
请注意编程中的“单词字符”通常是指字母,数字和下划线。这个问题实际上是在问“信件”。如果您需要查看某个字符是否为单词字符,我发现的最好方法是character.isalnum()或字符==“_”'。 – Variadicism 2016-08-13 22:49:49
我知道,但是我在3年前刚开始编程时问过这个问题。随意编辑它。 – 2016-08-13 23:46:50
够公平的。我们都去过那里。我会要求编辑。 – Variadicism 2016-08-15 16:48:26