检查字符串是否为空(或空格)

时间:2017-03-27 03:14:15

标签: python whitespace isspace

我有一个字符串:

=countifs(a:a,100,b:b,3)>0

正如我们所看到的,当我打印字符串a时,它就是所有空格。但是,使用isspace()无法检查它是一个充满空格的字符串。如何将这种字符串检测为"空格字符串"?

3 个答案:

答案 0 :(得分:4)

您没有仅包含空格字符的字符串。您有一个 bytestring ,其中包含仅包含空格字符的Unicode字符串的 UTF-8编码

解码UTF-8中的字节会产生一个Unicode字符串,为True报告isspace

>>> a.decode('utf-8').isspace()
True

但请不要特意将decode('utf-8')打入您的代码中,并希望它有效。

跟踪您是否始终使用Unicode或字节串。通常,使用Unicode工作,立即将字节串输入转换为Unicode,并在离开代码时仅将Unicode转换为字节串。

答案 1 :(得分:1)

str.isspace()检查字符串是否只是一个空格,以便在存在其他字符时不起作用。

您可以使用str.contains('')来检查字符串中是否有空格或

if ' ' in str:
    #do something

答案 2 :(得分:0)

import re
if re.search(r"^\s+$"):
    print "All Spaces"

上面的正则表达式将匹配任何只包含以下字符的字符串:

ASCII spacetabline feedcarriage returnvertical tabform feed

或者,可能更高效,您可以使用strip()

a = "             ".strip()
if not a:
    print "All spaces"