所以我知道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