파이썬에서 처리하는 문자열이 일반 문자(언어 문자)인지, 숫자인지, 또는 일반 문자와 숫자로 이루어진 영숫자인지 체크해야 할 경우가 생깁니다.
처리하는 문자열이 계산 식에 사용된다면 당연히 해당 문자열은 숫자로만 되어 있어야 숫자 형(Type)으로 변환할 때 오류가 생기지 않습니다.
또는 특수 문자가 반드시 포함되어야 하는 암호를 만든다고 했을 때도 처리하는 문자열의 구성를 체크해서 특수 문자 포함 여부를 확인해야 합니다.
파이썬에는 문자열을 처리하는 내장 함수를 많이 제공하고 있습니다.
이번 글에서는 파이썬에서 문자열이 문자, 숫자, 영숫자인지 확인하는 방법에 대해 알아보겠습니다.
파이썬에서 문자열이 숫자로만 구성되었는지 확인하기
▶ 처리하는 문자열이 숫자로만 구성되었는지 확인하는 함수는 isdigit() 입니다.
▼ 아래 소스는 isdigit() 함수를 사용하는 예제 입니다.
si = “123”
print(si.isdigit()) => True
print(int(si)) => 123
sf = “123.45”
print(sf.isdigit()) => False (점(.)은 문자로 인식)
print(sf.int(sf)) => dump error (오류발생)
sf = “123.45”
print(sf.isdigit()) => False
print(sf.float(sf)) => 123.45
print(int(float(sf))) => 123
|
- 숫자 형태인지 확인을 위해 isdigit()를 사용하면 되고, 숫자 타입으로 형 변환은 int(), float() 등을 사용하면 됩니다.
파이썬에서 문자열이 영숫자(Alphanumericals)인지 확인하기(
▶ 처리하는 문자열이 영숫자(Alphanumericals)로만 구성되었는지 확인하는 함수는 isalnum() 입니다.
– 영숫자는 일반 문자(언어 문자)와 숫자로만 구성된 문자열을 말합니다.
▼ 아래 소스는 isalnum() 함수를 사용하는 예제 입니다.
text1 = ‘Hi안녕!’
text2 = ‘Hi-안녕.’
text3 = ‘Hi안녕3333’
print(text1.isalnum()) # 느낌표(!)가 들어 있으므로 False 리턴
print(text2.isalnum()) # 하이픈(-)과 점(.)이 들어 있으므로 False 리터
print(text3.isalnum()) # 영문,한글,숫자만 들어 있으므로 True 리터
|
- 특수 문자가 포함되었는지 여부를 체크할 때 isalnum 함수를 활용하여 쉽게 구현할 수 있습니다.
파이썬에서 문자열이 문자로만 구성되었는지 확인하기
▶ 처리하는 문자열이 한글이나 영어 등 일반 문자(언어 문자)로만 구성되었는지 확인하는 함수는 isalpha() 입니다.
▼ 아래 소스는 isalpha() 함수를 사용하는 예제 입니다.
text1 = ‘Hi안녕!’ text2 = ‘Hi안녕3333’ text3 = ‘Hi안녕’ print(text1.isalpha()) # 느낌표(!)가 들어 있으므로 False 리턴 print(text2.isalpha()) # 숫자가 들어 있으므로 False 리터 print(text3.isalpha()) # 영문,한글만 들어 있으므로 True 리터 |
파이썬에서 문자열이 대문자인지 소문자인지 확인하기
▶ 참고로 파이썬에서 처리하는 문자열이 대문자로 구성되었는지, 소문자로 구성되었는지 확인할 수 있습니다.
- isupper() : 문자열이 대문자로만 구성되어 있으면 True 리턴
- islower() : 문자열이 소문자로만 구성되어 있으면 True 리턴
※ 함께 읽으면 도움이 될 만한 다른 포스팅 글입니다.
이 글이 도움이 되었기를 바랍니다. ^-^