str.isspace()
检查行是否为空(包含空格和返回字符)非常方便。
是否可以延伸一些其他字符(例如逗号),在检查过程中也应将其视为“空格字符”?
答案 0 :(得分:6)
无法扩展str.isspace
。但是你可以用一些方式自己做同样的事情,稍微冗长一点。
显式循环:
all(c in my_space_set for c in s)
制作一套:
set(s).issubset(my_space_set)
或带有字符类的正则表达式,或......
答案 1 :(得分:2)
您可以将len(img.shape) = 3
与您认为不重要的字符一起使用,并检查结果是否为空:
str.strip()
(a=" , "
if not a.strip(", \n\t\v\r"):
print("empty")
从字符串的两端删除传递参数的所有char出现,在这种情况下str.strip
或str.lstrip
将以相同的方式工作,甚至会稍快一些)
让我感到困惑的是,它创建了一个一次性字符串,只是为了测试它是否为空。我喜欢abamert str.rstrip
概念,虽然创建set
只是为了使用set
是以错误的方式完成的(它创建了一次性issubset
,所以同样的问题)。我愿意:
set
然后在现有集合上使用spaceset = set(", \n\r\v") # initialized once and for all
,并将字符串作为参数:
issuperset
(每次都不会创建spaceset.issuperset(a)
)
答案 2 :(得分:2)
您可以使用正则表达式
执行此操作import re
def is_all_modified_whitespace(s)
return not re.search(r'[^\s,]', s)
is_all_modified_whitespace(s)
正则表达式非常适合这样的东西,因为它们允许您轻松修改要检查的字符集。