簡體   English   中英

如何識別 python 字符串中的多個日期?

[英]How to identify multiple dates within a python string?

對於給定的字符串,我想確定其中的日期。

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")

Output:

no date in string

但是,字符串中顯然有日期。 最后,我想通過放入變量 Date1 來確定哪個日期最早,通過放入變量 Date2 來確定哪個日期是最新的。

我相信如果一個字符串包含多個日期,datefinder 將無法解析它。 在您的情況下,使用string.split()拆分字符串並應用find_dates方法應該可以完成這項工作。

您只給出了 1 個示例,但基於該示例,您可以使用正則表達式。

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)}")

Output

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM