Как проверить, является ли текст "пустым" (пробелы, табуляции, новые строки) в Python?

Как проверить, пуста ли строка в Python?

Например,

"<space><space><space>" пуст, поэтому

"<space><tab><space><newline><space>", так что

"<newline><newline><newline><tab><newline>" и т.д.

Ответ 1

yourString.isspace()

"Возвращает true, если в строке есть только пробельные символы, и есть хотя бы один символ, иначе false."

Объедините это со специальным случаем для обработки пустой строки.

В качестве альтернативы вы можете использовать

strippedString = yourString.strip()

И затем проверьте, не является ли strippedString пустым.

Ответ 2

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

Ответ 4

Вы хотите использовать метод isspace()

ул. isspace()

Возвращает true, если в строке есть только пробельные символы и есть хотя бы один символ, иначе false.

Это определено для каждого строкового объекта. Вот пример использования для вашего конкретного случая использования:

if aStr and (not aStr.isspace()):
    print aStr

Ответ 5

для тех, кто ожидает такое поведение, как apache StringUtils.isBlank или Guava Strings.isNullOrEmpty:

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

Ответ 6

Проверьте длину списка, заданного методом split().

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

Или Сравните вывод метода strip() с нулем.

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

Ответ 7

Вот ответ, который должен работать во всех случаях:

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

Если переменная None, она остановится на not s и больше не будет оцениваться (поскольку not None == True). По-видимому, метод strip() заботится о обычных случаях табуляции, новой строки и т.д.

Ответ 8

Я предполагаю, что в вашем сценарии пустая строка - это строка, которая действительно пуста или та, которая содержит все пробелы.

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

Обратите внимание, что это не проверяет None

Ответ 9

Я использовал следующее:

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

Ответ 10

Чтобы проверить, является ли строка просто пробелами или новой строкой

Используйте этот простой код

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)

Ответ 11

Сходство со статическим методом С# string 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