检查字符串是否只包含空格

如何测试字符串是否只包含空格?

字符串的例子:

  • " "(空格,空格,空格)

  • " \t \n "(空格,制表符,空格,换行符,空格)

  • "\n\n\n\t\n"(换行,换行,制表符,换行)

289459 次浏览

使用str.isspace()方法:

如果字符串中只有空格字符且至少有一个字符,则返回True,否则返回False

如果一个字符在Unicode字符数据库(参见unicodedata)中,它的一般类别是Zs(“分隔符,空格”),或者它的双向类是WS、B或S之一,那么它就是空白字符。

将其与处理空字符串的特殊情况结合起来。

或者,你可以使用str.strip()检查结果是否为空。

你可以使用str.isspace()方法。

str.isspace ()返回一个有效的空字符串False

>>> tests = ['foo', ' ', '\r\n\t', '']
>>> print([s.isspace() for s in tests])
[False, True, True, False]

因此,使用not检查也将计算None Type和''""(空字符串)

>>> tests = ['foo', ' ', '\r\n\t', '', None, ""]
>>> print ([not s or s.isspace() for s in tests])
[False, True, True, True, True, True]

你想要使用isspace()方法

str.isspace ()

如果字符串中只有空白字符和,则返回true 至少有一个字符,否则为假

在每个字符串对象上都有定义。下面是一个特定用例的使用示例:

if aStr and (not aStr.isspace()):
print aStr

检查split()方法给出的列表的长度。

if len(your_string.split()==0:
print("yes")
< p >或 比较strip()方法的输出与null
if your_string.strip() == '':
print("yes")

对于那些期望apache StringUtils.isBlank或Guava Strings.isNullOrEmpty行为的人:

if mystring and mystring.strip():
print "not blank string"
else:
print "blank string"

我假设在您的场景中,空字符串是真正为空的字符串或包含所有空白的字符串。

if(str.strip()):
print("string is not empty")
else:
print("string is empty")

注意,这并不检查None

这里有一个在所有情况下都适用的答案:

def is_empty(s):
"Check whether a string is empty"
return not s or not s.strip()

如果变量为None,它将停在__abc0,不再进一步求值(因为not None == True)。显然,__abc2方法处理了制表符、换行符等常见情况。

我使用以下方法:

if str and not str.isspace():
print('not null and not empty nor whitespace')
else:
print('null or empty or whitespace')

检查字符串是否是空格或换行符

使用下面的简单代码

mystr = "      \n  \r  \t   "
if not mystr.strip(): # The String Is Only Spaces!
print("\n[!] Invalid String !!!")
exit(1)
mystr = mystr.strip()
print("\n[*] Your String Is: "+mystr)

与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