回答:
次のstr.isspace()
方法を使用します。
True
文字列に空白文字のみがあり、False
それ以外の場合は1文字以上ある場合に返します。Unicode文字データベース(unicodedataを参照)内にある場合、その一般カテゴリがZ(「セパレーター、スペース」)であるか、その双方向クラスがWS、B、またはSのいずれかである場合、文字は空白です。
空の文字列を処理するための特別なケースと組み合わせてください。
または、str.strip()
結果が空かどうかを使用して確認することもできます。
None
、または''
if len(str) == 0 or str.isspace():
len(my_str) == 0
も記述できますnot my_str
。
isspace()
メソッドを使いたい
str。isspace()
文字列に空白文字のみがあり、少なくとも1つの文字がある場合はtrueを返し、それ以外の場合はfalseを返します。
それはすべての文字列オブジェクトで定義されています。以下は、特定のユースケースの使用例です。
if aStr and (not aStr.isspace()):
print aStr
str.isspace()
メソッドを使用できます。
Apache 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は空の文字列をテストするように求めていませんでしたが、すべてスペースである文字列をテストしました。2番目の方法は悪くありません。また、条件文を囲む括弧はpythonでは必要ありません。
==0
と==1
if len(your_string.split())==0:
-> if not your_string.split():
、if your_string.strip() == '':
-> if not your_string.strip():
。いずれにせよ、1つ目は既存のソリューションよりも劣っており、2つ目は他の回答ですでに言及されています。
あなたのシナリオでは、空の文字列は本当に空の文字列か、すべて空白を含む文字列であると想定しています。
if(str.strip()):
print("string is not empty")
else:
print("string is empty")
これはチェックしないことに注意してください None
私は以下を使用しました:
if str and not str.isspace():
print('not null and not empty nor whitespace')
else:
print('null or empty or whitespace')
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
またはが含まれている場合、これはPython 2.4では失敗しますALT+160
。ただし、Python 2.7では見た目は修正されています。