[python] 문자열에 공백 만 포함되어 있는지 확인

문자열에 공백 만 포함되어 있는지 테스트하려면 어떻게해야합니까?

문자열 예 :

  • " " (공간, 공간, 공간)

  • " \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()방법은 일반적인 탭, 줄 바꿈 등을 처리합니다.