检查字符串

时间:2012-06-20 05:43:43

标签: python

我在这样的函数中有一系列if语句:

if time == "%%00":
    #code
elif time == "%%15":
    #code
elif time == "%%30":
    #code
elif time == "%%45":
    #code

时间是24小时格式即。 0000-2400,我正在查看15个间隔时间。但是,所有语句都被忽略,因此“%% interval”不起作用。这只是我在这里缺少的一些简单的事情,还是我需要一种不同的方法?

2 个答案:

答案 0 :(得分:7)

有几种方法可以做到:

if time.endswith("00"):
    #code
elif time[-2:] == "15":
    #code
elif re.match(".{2}30", time):
    #code
elif time.endswith("45"):
    #code

答案 1 :(得分:0)

从根本上说,你是在比较字符串文字,仅此而已,有几种方法可以做到这一点,其中一个没有正则表达式。

if   time[-2:] == "00":
    #code
elif time[-2:] == "15":
    #code
elif time[-2:] == "30":
    #code
elif time[-2:] == "45":
    #code

[-2:]将从字符串中抓取最后两个字符

这是一个有正则表达的人,我不是他们的忠实粉丝,他们可以产生微妙的错误,但这只是我的看法。

if re.match('..00', time):
    #code
elif re.match('..15', time):
    # code
elif re.match('..30', time):
    # code
elif re.match('..45', time):
    # code

.只是意味着匹配任何字符,\n除外,re.match返回一个对象,如果没有匹配则为None