如何测试字符串是否只包含空格?
字符串的例子:
" "(空格,空格,空格) " \t \n "(空格,制表符,空格,换行符,空格) "\n\n\ t\n"(换行符,换行符,制表符,换行符)
如何测试字符串是否只包含空格?
字符串的例子:
" "(空格,空格,空格) " \t \n "(空格,制表符,空格,换行符,空格) "\n\n\ t\n"(换行符,换行符,制表符,换行符)
当前回答
我使用以下方法:
if str and not str.isspace():
print('not null and not empty nor whitespace')
else:
print('null or empty or whitespace')
其他回答
使用str.isspace()方法:
如果字符串中只有空格字符且至少有一个字符,则返回True,否则返回False。 如果一个字符在Unicode字符数据库(参见unicodedata)中,它的一般类别是Zs(“分隔符,空格”),或者它的双向类是WS、B或S之一,那么它就是空白字符。
将其与处理空字符串的特殊情况结合起来。
或者,您可以使用str.strip()并检查结果是否为空。
我假设在您的场景中,空字符串是真正为空的字符串或包含所有空白的字符串。
if(str.strip()):
print("string is not empty")
else:
print("string is empty")
注意,这不会检查None
您需要使用isspace()方法
str.isspace () 如果字符串中只有空白字符,则返回true 至少有一个字符,否则为假。
在每个字符串对象上都有定义。下面是一个特定用例的使用示例:
if aStr and (not aStr.isspace()):
print aStr
与c#字符串静态方法类似的是nullorwhitespace。
def isNullOrWhiteSpace(str):
"""Indicates whether the specified string is null or empty string.
Returns: True if the str parameter is null, an empty string ("") or contains
whitespace. Returns false otherwise."""
if (str is None) or (str == "") or (str.isspace()):
return True
return False
isNullOrWhiteSpace(None) -> True // None equals null in c#, java, php
isNullOrWhiteSpace("") -> True
isNullOrWhiteSpace(" ") -> True
您可以使用str.isspace()方法。