문자열의 문자가 문자인지 확인하는 방법은 무엇입니까? 파이썬
그래서 저는 islower와 isupper에 대해 알고 있지만 그 캐릭터가 문자인지 아닌지 확인할 수 있는지 알 수없는 것 같습니다.
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
str.isalpha()
문자열의 모든 문자가 알파벳이고 하나 이상의 문자가 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다. 알파벳 문자는 유니 코드 문자 데이터베이스에서 "Letter"로 정의 된 문자입니다. 즉, 일반 범주 속성이 "Lm", "Lt", "Lu", "Ll"또는 "Lo"중 하나 인 문자입니다. 이것은 유니 코드 표준에 정의 된 "Alphabetic"속성과 다릅니다.
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)
>>>
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.")
data = "abcdefg hi j 12345"
digits_count=0
letters_count=0
others_count=0
for i in userinput:
if i.isdigit():
digits_count +=1
elif i.isalpha():
letters_count +=1
else:
others_count +=1
print("Result:")
print("Letters=", letters_count)
print("Digits=", digits_count)
Output::
Plesae Enter Lerrers with Numbers:
abcdefg hi j 12345
Result:
Letters= 10
Digits= 5
By using str.isalpha()
yoy can check if it is letter.
this code works:
str=raw_input("enter a string:")
for char in word:
if not char.isalpha():
sum=sum+1
if sum>0:
print char
참고URL : https://stackoverflow.com/questions/15558392/how-to-check-if-character-in-string-is-a-letter-python
'program story' 카테고리의 다른 글
std :: string의 마지막 요소 가져 오기 (0) | 2020.10.05 |
---|---|
여러 DOS 명령을 병렬로 실행하는 방법은 무엇입니까? (0) | 2020.10.05 |
Xcode 5 및 iOS 7 : 아키텍처 및 유효한 아키텍처 (0) | 2020.10.05 |
Maven 2로 실행 가능한 jar 빌드 (0) | 2020.10.05 |
Swift에서 일반 프로토콜을 만드는 방법은 무엇입니까? (0) | 2020.10.05 |