如何从分割线中获取字符串并在python中进行比较

2024-09-30 20:38:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一句话是这样说的:

lineaftersplit=Jan 31 00:57:07 2012 GMT

如何从中得出2012年的数据,并将其与(2010年)和(2013年)之间的数据进行比较


Tags: 数据jangmtlineaftersplit
3条回答

如果lineaftersplit是字符串值,则可以使用datetime模块解析出信息,包括年份:

import datetime

parsed_date = datetime.datetime.strptime(lineaftersplit, '%b %d %H:%M:%S %Y %Z')

if 2010 <= parsed_date.year <= 2013:
    # year between 2010 and 2013.

这样做的好处是可以对datetime对象进行进一步的测试,包括排序和日期算术。在

演示:

^{pr2}$

试试这个:

st="Jan 31 00:57:07 2012 GMT".split()
year=int(st[3])

如果字符串始终是这种格式,这实际上是有效的

您可以使用str.rsplit

>>> strs = 'Jan 31 00:57:07 2012 GMT'

str.rstrip将返回如下列表:

^{pr2}$

现在我们需要第二项:

>>> year = strs.rsplit(None,2)[1]
>>> year
'2012'
>>> if 2010 <= int(year) <= 2013:  #apply int() to get the integer value
...     #do something
... 

相关问题 更多 >