如何识别python字符串中的多个日期?

h22fl7wq  于 2023-01-29  发布在  Python
关注(0)|答案(2)|浏览(207)

对于一个给定的字符串,我想标识其中的日期。

import datefinder
string = str("/plot 23/01/2023 24/02/2021 /cmd")

matches = list(datefinder.find_dates(string))

if matches:
    print(matches)
else:
    print("no date in string")

输出:

no date in string

然而,字符串中有明显的日期,最终我想通过放入变量Date1来识别哪个日期是最早的,通过放入变量Date2来识别哪个日期是最新的。

jjjwad0x

jjjwad0x1#

我相信如果一个字符串包含多个日期,datefinder是无法解析它的,在您的情况下,使用string.split()拆分字符串并应用find_dates方法应该可以完成这项工作。

55ooxyrt

55ooxyrt2#

您只给出了一个示例,但基于该示例,您可以使用regex。

import re
from datetime import datetime

string = "/plot 23/01/2023 24/02/2021 /cmd"
dates = [datetime.strptime(d, "%d/%m/%Y") for d in re.findall(r"\d{2}/\d{2}/\d{4}", string)]
print(f"earliest: {min(dates)}, latest: {max(dates)}")

产出

earliest: 2021-02-24 00:00:00, latest: 2023-01-23 00:00:00

相关问题