gpt4 book ai didi

python - 如何从带日期的字符串列表中过滤掉字符串?

转载 作者:行者123 更新时间:2023-12-05 09:03:18 24 4
gpt4 key购买 nike

如何过滤掉这个列表,以便我们只剩下一个 yyyy-mm-dd 格式的字符串列表?

2021-11-11
2021-10-01
some_folder
some_other_folder

所以我们最终得到这样一个列表:

2021-11-11
2021-10-01

如果列表有前缀怎么办?

root/2021-11-11
root/2021-10-01
user/some_folder
root/some_other_folder

我们希望以:

root/2021-11-11
root/2021-10-01

最佳答案

我会让 datetime 模块使用 strptime 为我处理。如果它不是 '%Y-%m-%d' 格式,它会引发 ValueError :

import datetime

lst = ['2021-11-11', '2021-10-01', 'some_folder', 'some_other_folder',
'root/2021-11-11', 'root/2021-10-01',
'user/some_folder', 'root/some_other_folder']


def filter_(s):
last_part = s.rsplit('/', maxsplit=1)[-1]
try:
datetime.datetime.strptime(last_part, '%Y-%m-%d')
return True
except ValueError:
return False


print([i for i in lst if filter_(i)])

输出:

['2021-11-11', '2021-10-01', 'root/2021-11-11', 'root/2021-10-01']

关于python - 如何从带日期的字符串列表中过滤掉字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70086629/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com