문자열에 공백 만 포함되어 있는지 테스트하려면 어떻게해야합니까?
문자열 예 :
-
" "
(공간, 공간, 공간) -
" \t \n "
(공간, 탭, 공간, 줄 바꿈, 공간) -
"\n\n\n\t\n"
(개행, 개행, 개행, 탭, 개행)
답변
str.isspace()
방법을 사용하십시오 :
반환
True
문자열에 공백 만 문자가 적어도 하나 개의 문자가있는 경우False
그렇지.유니 코드 문자 데이터베이스 ( unicodedata 참조 )에서 일반 범주가 Zs (“구분자, 공백”)이거나 양방향 클래스가 WS, B 또는 S 중 하나 인 경우 문자는 공백 입니다.
빈 문자열을 처리하기 위해 특별한 경우와 결합하십시오.
또는 str.strip()
결과가 비어 있는지 확인하고 사용할 수 있습니다 .
답변
>>> tests = ['foo', ' ', '\r\n\t', '', None]
>>> [not s or s.isspace() for s in tests]
[False, True, True, True, True]
답변
이 isspace()
방법 을 사용하고 싶습니다
str. isspace ()
문자열에 공백 문자 만 있고 하나 이상의 문자가 있으면 true를, 그렇지 않으면 false를 반환합니다.
그것은 모든 문자열 객체에 정의되어 있습니다. 다음은 특정 사용 사례에 대한 사용 예입니다.
if aStr and (not aStr.isspace()):
print aStr
답변
이 str.isspace()
방법을 사용할 수 있습니다 .
답변
아파치 StringUtils.isBlank 또는 Guava Strings.isNullOrEmpty 와 같은 동작을 기대하는 사람들을 위해 :
if mystring and mystring.strip():
print "not blank string"
else:
print "blank string"
답변
split () 메소드로 제공된 목록의 길이를 확인하십시오.
if len(your_string.split()==0:
print("yes")
또는 strip () 메소드의 출력을 null과 비교하십시오.
if your_string.strip() == '':
print("yes")
답변
다음은 모든 경우에 작동해야하는 답변입니다.
def is_empty(s):
"Check whether a string is empty"
return not s or not s.strip()
변수가 없음 인 경우 변수가 중지되고 not s
이후부터 평가되지 않습니다 not None == True
. 분명히이 strip()
방법은 일반적인 탭, 줄 바꿈 등을 처리합니다.