检查字符串是否为空(或空格)
Check whether a string is empty (or spaces)
我有一个字符串是:
>>> 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() 无法检查它是否是一个充满空格的字符串。我怎样才能检测到这种字符串是 "space string"?
str.isspace() 检查字符串是否只是一个 space,因此如果存在其他字符,它将不起作用。
您可以使用 str.contains(' ') 检查您的字符串中是否有 space 或
if ' ' in str:
#do something
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"
您没有只包含空白字符的字符串。您有一个 bytestring,其中包含仅包含空白字符的 Unicode 字符串的 UTF-8 编码。
解码 UTF-8 中的字节会生成一个 Unicode 字符串,该字符串报告 True
for isspace
:
>>> a.decode('utf-8').isspace()
True
但不要只是临时将 decode('utf-8')
添加到您的代码中并希望它有效。
始终跟踪您使用的是 Unicode 还是字节串。通常,在 Unicode 中工作,立即将字节串输入转换为 Unicode,并且仅在它离开您的代码时将 Unicode 转换为字节串。
我有一个字符串是:
>>> 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() 无法检查它是否是一个充满空格的字符串。我怎样才能检测到这种字符串是 "space string"?
str.isspace() 检查字符串是否只是一个 space,因此如果存在其他字符,它将不起作用。
您可以使用 str.contains(' ') 检查您的字符串中是否有 space 或
if ' ' in str:
#do something
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"
您没有只包含空白字符的字符串。您有一个 bytestring,其中包含仅包含空白字符的 Unicode 字符串的 UTF-8 编码。
解码 UTF-8 中的字节会生成一个 Unicode 字符串,该字符串报告 True
for isspace
:
>>> a.decode('utf-8').isspace()
True
但不要只是临时将 decode('utf-8')
添加到您的代码中并希望它有效。
始终跟踪您使用的是 Unicode 还是字节串。通常,在 Unicode 中工作,立即将字节串输入转换为 Unicode,并且仅在它离开您的代码时将 Unicode 转换为字节串。