我有一个字符串:
=countifs(a:a,100,b:b,3)>0
正如我们所看到的,当我打印字符串a时,它就是所有空格。但是,使用isspace()无法检查它是一个充满空格的字符串。如何将这种字符串检测为"空格字符串"?
答案 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 space
,tab
,line feed
,carriage return
,vertical tab
,form feed
或者,可能更高效,您可以使用strip()
:
a = " ".strip()
if not a:
print "All spaces"