以下是一个示例代码,演示如何按日期排序带有多个分隔符的字符串:
import datetime
def sort_dates_with_multiple_delimiters(date_string):
# 定义多个分隔符
delimiters = ['-', '/', '.']
# 逐个分隔符尝试解析日期
for delimiter in delimiters:
try:
# 使用当前分隔符进行日期解析
dates = [datetime.datetime.strptime(date, f"%d{delimiter}%m{delimiter}%Y") for date in date_string.split(',')]
# 按日期进行排序
sorted_dates = sorted(dates)
# 返回排序后的日期列表
return [date.strftime("%d-%m-%Y") for date in sorted_dates]
except ValueError:
pass
# 如果无法解析日期,则返回空列表
return []
# 示例用法
date_string = "20-02-2021, 03/01/2020, 15.12.2022"
sorted_dates = sort_dates_with_multiple_delimiters(date_string)
print(sorted_dates)
这个示例代码首先定义了一个包含多个分隔符的列表。然后,代码逐个尝试使用这些分隔符对日期字符串进行解析。如果成功解析日期,则将日期字符串转换为datetime
对象,并将这些对象存储在一个列表中。最后,使用sorted
函数对日期列表进行排序,并将排序后的日期转换为指定的日期格式。
请注意,此示例仅考虑了日期格式为“日-月-年”的情况。如果你有不同的日期格式,请相应地调整代码。