在python中,如何检查字符串是空还是空?
在c#中,我们有String.IsNullOrEmpty(some_string)
另外,我正在做一些正则表达式:
p = re.compile(...)
a = p.search(..).group(1)
如果小组在索引1没有东西,这会破坏,如何防范这个?即如何安全地重写这两行?
答案 0 :(得分:6)
检查一下。明确比隐含更好,还有一行不会杀了你。
a = p.search(...)
if a is not None:
# ...
答案 1 :(得分:2)
re模块的典型方法是:
m = p.search(..)
if m:
a = m.group(1)
或
m = p.search(..)
a = m.group(1) if m else ''
不幸的是(或幸运的是),Python不允许你在一行中写下所有内容。
答案 2 :(得分:1)
p.search(..)将返回无,如果找不到任何内容,那么您可以这样做:
a = p.search(..)
if a is None:
# oops
print "Nothing found"
else:
print "Hooray!"
答案 3 :(得分:0)
“null或empty”我认为你的意思是None
或""
。幸运的是,在python中,这两个都评估为False
。
如果您的C#看起来像这样:
if (! String.IsNullOrEmpty(some_string))
do_something();
然后你的Python看起来像这样:
if not some_string:
do_something()
答案 4 :(得分:-2)
这可能不正确,但我认为如果p!= None(或者它可能为null / NULL)可以使用