webdevqa.jp.net

Pythonでテキストが「空」(スペース、タブ、改行)であるかどうかを確認するにはどうすればよいですか?

Pythonで文字列が空かどうかをテストするにはどうすればよいですか?

例えば、

"<space><space><space>"は空なので、そうです

"<space><tab><space><newline><space>"、そうです

"<newline><newline><newline><tab><newline>"など.

175
bodacydo
yourString.isspace()

「文字列に空白文字のみがあり、少なくとも1つの文字がある場合はtrueを返し、そうでない場合はfalseを返します。」

空の文字列を処理するための特別な場合と組み合わせてください。

または、次を使用できます

strippedString = yourString.strip()

そして、strippedStringが空かどうかを確認します。

260
Vladislav
>>> tests = ['foo', ' ', '\r\n\t', '', None]
>>> [bool(not s or s.isspace()) for s in tests]
[False, True, True, True, True]
>>>
45
John Machin

isspace() メソッドを使用したい

str。isspace()

文字列に空白文字のみがあり、少なくとも1つの文字がある場合はtrueを返し、そうでない場合はfalseを返します。

それはすべての文字列オブジェクトで定義されています。以下は、特定のユースケースの使用例です。

if aStr and (not aStr.isspace()):
    print aStr
24
Eric Wang
24
SilentGhost

apache StringUtils.isBlank またはGuava Strings.isNullOrEmpty のような動作を期待する人向け:

if mystring and mystring.strip():
    print "not blank string"
else:
    print "blank string"
11
kommradHomer

Split()メソッドで指定されたリストの長さを確認してください。

if len(your_string.split()==0:
     print("yes")

またはstrip()メソッドの出力をnullと比較します。

if your_string.strip() == '':
     print("yes")
5
Bhavesh Munot

すべての場合に役立つはずの答えを次に示します。

def is_empty(s):
    "Check whether a string is empty"
    return not s or not s.strip()

変数がNoneの場合、not sで停止し、それ以上評価されません(not None == True以降)。どうやら、strip()methodは、タブ、改行などの通常のケースを処理します。

3
fralau

あなたのシナリオでは、空の文字列は本当に空の文字列またはすべての空白を含む文字列であると仮定しています。

if(str.strip()):
    print("string is not empty")
else:
    print("string is empty")

これはNoneをチェックしないことに注意してください

2
James Wierzba

文字列が単なるスペースまたは改行かどうかを確認するには

このシンプルなコードを使用してください

mystr = "      \n  \r  \t   "
if not mystr.strip(): # The String Is Only Spaces!
    print("\n[!] Invalid String !!!")
    exit(1)
mystr = mystr.strip()
print("\n[*] Your String Is: "+mystr)
1
J0KER11

私は次を使用しました:

if str and not str.isspace():
  print('not null and not empty nor whitespace')
else:
  print('null or empty or whitespace')
1
Emdadul Sawon

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
0
broadband