You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python dateparser问题:含额外字符的日期字符串解析返回None

dateparser解析含无关内容的日期字符串返回None的问题解决

问题原因

dateparser默认采用严格解析模式,它会尝试将整个输入字符串匹配为日期格式。当字符串中混入非日期相关的额外内容时,无法匹配到完整的日期模式,因此返回None。

解决方法

方法1:关闭严格解析模式

通过settings参数设置STRICT_PARSING=False,让dateparser自动从字符串中提取有效日期部分,忽略无关内容:

from dateparser import parse

# 关闭严格解析后可正常提取日期
print(parse('April 19, 2006 test test', settings={'STRICT_PARSING': False}))
# 输出:2006-04-19 00:00:00

方法2:预处理字符串提取日期片段

如果需要更精准的控制,可以先用正则表达式提取字符串中的日期片段,再传给parse函数处理。例如针对美式英文日期的正则匹配:

import re
from dateparser import parse

text = 'April 19, 2006 test test'
# 匹配英文月份+日期+年份的格式
date_pattern = r'(January|February|March|April|May|June|July|August|September|October|November|December)\s+\d{1,2},\s+\d{4}'
date_match = re.search(date_pattern, text)

if date_match:
    print(parse(date_match.group()))
    # 输出:2006-04-19 00:00:00

内容的提问来源于stack exchange,提问作者petrashin_nikita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 01:57:37