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



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



например,



"<space><space><space>" пусто, так же как и



"<space><tab><space><newline><space>", так же как и



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

974   9  

9 ответов:

yourString.isspace()

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

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

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

strippedString = yourString.strip()

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

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

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

.isspace ()

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

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

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

для тех, кто ожидает такого поведения, как apache StringUtils.isBlank или гуавы строки.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")

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

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

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

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

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

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

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

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

Comments

    Ничего не найдено.