如何在Python中检查文本是否为"空"(空格,制表符,换行符)?

bod*_*ydo 192 python tabs text newline space

如何在Python中测试字符串是否为空?

例如,

"<space><space><space>" 是空的,也是

"<space><tab><space><newline><space>",是的

"<newline><newline><newline><tab><newline>"

Vla*_*lav 282

yourString.isspace()
Run Code Online (Sandbox Code Playgroud)

"如果字符串中只有空格字符且至少有一个字符,则返回true,否则返回false."

将它与处理空字符串的特殊情况相结合.

或者,您可以使用

strippedString = yourString.strip()
Run Code Online (Sandbox Code Playgroud)

然后检查strippedString是否为空.

  • 请记住,这不会检查"无"或"" (13认同)
  • 您可能还想排除空字符串,在这种情况下您可以这样做:`if len(str) == 0 or str.isspace():` (2认同)

Joh*_*hin 49

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


Eri*_*ang 27

您想要使用该isspace()方法

海峡.isspace为()

如果字符串中只有空格字符并且至少有一个字符,则返回true,否则返回false.

这是在每个字符串对象上定义的.这是您特定用例的用法示例:

if aStr and (not aStr.isspace()):
    print aStr
Run Code Online (Sandbox Code Playgroud)

  • 这与当前的[顶部和接受的答案](/sf/answers/168371031/) 不是相同的解决方案吗? (2认同)

kom*_*mer 11

对于那些期望像apache StringUtils.isBlank或Guava Strings.isNullOrEmpty这样的行为的人:

if mystring and mystring.strip():
    print "not blank string"
else:
    print "blank string"
Run Code Online (Sandbox Code Playgroud)


Bha*_*not 5

检查split()方法给定的列表的长度。

if len(your_string.split()==0:
     print("yes")
Run Code Online (Sandbox Code Playgroud)

或者将strip()方法的输出与null进行比较。

if your_string.strip() == '':
     print("yes")
Run Code Online (Sandbox Code Playgroud)