[파이썬] 문자열의 알파벳, 숫자 여부 확인

파이썬에서는 문자열에 포함된 각 문자가 알파벳인지, 숫자인지 아닌지를 확인할 수 있습니다. 이번 글에서는 문자열의 알파벳과 숫자 여부를 확인하는 방법을 알아보겠습니다.

문자열 속 알파벳 여부 확인하기

문자열에 포함된 모든 문자가 알파벳인지 여부를 확인하기 위해서는 isalpha() 메서드를 사용합니다.

text = "Hello"
result = text.isalpha()
print(result) # Output: True

text = "Hello123"
result = text.isalpha()
print(result) # Output: False

위의 예제에서 isalpha() 메서드는 문자열 text의 모든 문자가 알파벳으로 이루어져 있기 때문에 첫 번째 출력은 True입니다. 두 번째 예제에서는 문자열 text에 숫자가 포함되어 있기 때문에 isalpha() 메서드는 False를 반환합니다.

문자열 속 숫자 여부 확인하기

같은 방식으로, 문자열에 포함된 모든 문자가 숫자인지 여부를 확인하기 위해서는 isdigit() 메서드를 사용할 수 있습니다.

text = "12345"
result = text.isdigit()
print(result) # Output: True

text = "1234a"
result = text.isdigit()
print(result) # Output: False

첫 번째 예제에서 isdigit() 메서드는 문자열 text의 모든 문자가 숫자로 이루어져 있기 때문에 True를 반환합니다. 두 번째 예제에서는 문자열 text에 문자가 포함되어 있기 때문에 False가 출력됩니다.

주의사항

isalpha()isdigit() 메서드는 각각 모든 문자와 숫자를 검사하기 때문에, 빈 문자열일 경우에는 False를 반환합니다.

text = ""
result = text.isalpha()
print(result) # Output: False

result = text.isdigit()
print(result) # Output: False

또한, isalpha()는 문자열에 공백이 있더라도 True를 반환하지 않습니다. 문자열의 모든 문자가 알파벳인지 확인하기 위해서는 공백을 제거한 후에 확인해야 합니다.

text = "Hello World"
result = text.replace(" ", "").isalpha()
print(result) # Output: True

위의 예제에서 replace() 메서드를 사용하여 문자열 text의 공백을 제거한 후에 isalpha()를 호출하면 True를 얻을 수 있습니다.