Skip to main content
 首页 » 编程设计

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

2025年05月04日38jirigala

我有一个字符串是:

>>> a = "           " 
>>> a.isspace() 
False 
>>> a 
'\xe2\x80\x83\xe2\x80\x83             \xe2\x80\x83\xe2\x80\x83             \xe2\x80\x83\xe2\x80\x83             \xe2\x80\x83\xe2\x80\x83             \xe2\x80\x83\xe2\x80\x83             \xe2\x80\x83\xe2\x80\x83             \xe2\x80\x83\xe2\x80\x83             \xe2\x80\x83\xe2\x80\x83             \xe2\x80\x83\xe2\x80\x83             \xe2\x80\x83\xe2\x80\x83             \xe2\x80\x83\xe2\x80\x83             ' 
>>> print a 
                                                                                                                                                                      
>>>  

我们可以看到,当我打印字符串a时,全是空格。但是,使用 isspace() 无法检查它是否是一个充满空格的字符串。我怎样才能将这种字符串检测为“空格字符串”?

请您参考如下方法:

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

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

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

但不要只是将 decode('utf-8') 临时添加到您的代码中并希望它能正常工作。

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