답변:
str.isspace()
방법을 사용하십시오 :
반환
True
문자열에 공백 만 문자가 적어도 하나 개의 문자가있는 경우False
그렇지.유니 코드 문자 데이터베이스 ( unicodedata 참조 )에서 일반 범주가 Zs (“구분자, 공백”)이거나 양방향 클래스가 WS, B 또는 S 중 하나 인 경우 문자는 공백 입니다.
빈 문자열을 처리하기 위해 특별한 경우와 결합하십시오.
또는 str.strip()
결과가 비어 있는지 확인하고 사용할 수 있습니다 .
None
, 또는''
if len(str) == 0 or str.isspace():
len(my_str) == 0
도 쓸 수 있습니다 not my_str
.
이 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")
len()
작동합니다. 또한 OP는 빈 문자열을 테스트하지 않고 모든 공백 인 문자열을 테스트하도록 요청했습니다. 두 번째 방법은 나쁘지 않습니다. 또한 조건부 주변의 괄호는 파이썬에서 필요하지 않습니다.
==0
입니다.==1
if len(your_string.split())==0:
-> if not your_string.split():
, if your_string.strip() == '':
-> if not your_string.strip():
. 어쨌든 첫 번째는 기존 솔루션보다 열등하고 두 번째는 이미 다른 답변에서 언급되었습니다.
다음은 모든 경우에 작동해야하는 답변입니다.
def is_empty(s):
"Check whether a string is empty"
return not s or not s.strip()
변수가 없음 인 경우 변수가 중지되고 not s
이후부터 평가되지 않습니다 not None == True
. 분명히이 strip()
방법은 일반적인 탭, 줄 바꿈 등을 처리합니다.
not None == True
그냥 말하는 것이 더 명확하기 때문에None is False
. 또한 ==
이러한 비교에는 사용하지 않아야합니다.
귀하의 시나리오에서 빈 문자열은 실제로 비어있는 문자열이거나 모든 공백을 포함하는 문자열입니다.
if(str.strip()):
print("string is not empty")
else:
print("string is empty")
이것은 확인하지 않습니다 None
C # 문자열 정적 메소드와의 유사성은 isNullOrWhiteSpace입니다.
def isNullOrWhiteSpace(str):
"""Indicates whether the specified string is null or empty string.
Returns: True if the str parameter is null, an empty string ("") or contains
whitespace. Returns false otherwise."""
if (str is None) or (str == "") or (str.isspace()):
return True
return False
isNullOrWhiteSpace(None) -> True // None equals null in c#, java, php
isNullOrWhiteSpace("") -> True
isNullOrWhiteSpace(" ") -> True
return (str is None) or (str == "") or (str.isspace())
None
와 ""
그럼 이제 수, falsy 단지 :return not str or str.isspace()
U+00A0
또는ALT+160
. 그러나 Python 2.7에서는 고정되어 있습니다.