Python에서 문자열이 공백 문자만 포함하는지 확인하는 방법
Python에서는 문자열이 스페이스, 탭, 줄바꿈과 같은 공백 문자로만 이루어져 있는지 확인하는 방법이 크게 두 가지 있습니다. 각 방법의 특징과 예제를 살펴보겠습니다.
1. isspace() 메서드 사용
문자열 객체에서 제공하는 isspace() 메서드는 문자열의 모든 문자가 공백 문자이고, 문자열이 비어 있지 않을 때 True를 반환합니다.
text = " "
print(text.isspace()) # True
text = " hello "
print(text.isspace()) # False (공백 외 다른 문자 포함)
text = ""
print(text.isspace()) # False (빈 문자열은 항상 False)isspace()는 일반적인 스페이스뿐만 아니라 탭(\t), 줄바꿈(\n), 캐리지 리턴(\r) 등 다양한 종류의 공백 문자를 모두 인식합니다.
2. strip() 메서드 사용
두 번째 방법은 문자열 양쪽 끝의 공백을 제거한 뒤, 그 결과가 빈 문자열인지 확인하는 것입니다.
text = " \t\n"
if text.strip() == "":
print("공백 문자만 포함된 문자열입니다.")
else:
print("공백 외의 문자가 포함되어 있습니다.")이 방법은 isspace()와 달리 빈 문자열("")에 대해서도 참으로 처리한다는 차이점이 있습니다. 따라서 빈 문자열과 공백 전용 문자열을 구분해야 하는 경우에는 isspace()를 사용하는 것이 더 적합합니다.
보너스: 정규 표현식 활용하기
정규 표현식을 선호하는 개발자라면 re 모듈을 사용해 동일한 검사를 수행할 수도 있습니다.
import re
text = " \t "
result = bool(re.fullmatch(r'\s*', text))
print(result) # True마무리
일반적인 경우에는 가장 직관적이고 성능이 좋은 isspace() 메서드를 사용하는 것이 권장됩니다. 다만 빈 문자열 처리 방식이나 코드 스타일에 따라 strip() 또는 정규 표현식 방식을 선택하면 됩니다.