首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Python (或其他语言)中解析文本块中的多个日期

如何在Python (或其他语言)中解析文本块中的多个日期
EN

Stack Overflow用户
提问于 2011-08-11 23:33:49
回答 2查看 5.8K关注 0票数 18

我有一个字符串,里面有几个日期值,我想把它们都解析出来。字符串是自然语言,所以到目前为止我找到的最好的东西是dateutil

不幸的是,如果一个字符串中有多个日期值,则dateutil会抛出一个错误:

代码语言:javascript
复制
>>> s = "I like peas on 2011-04-23, and I also like them on easter and my birthday, the 29th of July, 1928"
>>> parse(s, fuzzy=True)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/pymodules/python2.7/dateutil/parser.py", line 697, in parse
    return DEFAULTPARSER.parse(timestr, **kwargs)
  File "/usr/lib/pymodules/python2.7/dateutil/parser.py", line 303, in parse
    raise ValueError, "unknown string format"
ValueError: unknown string format

对如何解析一个长字符串中的所有日期有什么想法吗?理想情况下,会创建一个列表,但如果需要,我可以自己处理。

我正在使用Python,但在这一点上,如果其他语言完成了这项工作,它们可能也是可以的。

PS -我想我可以递归地将输入文件分割到中间,然后尝试,再尝试,直到它工作,但这是一个地狱般的黑客。

EN

回答 2

Stack Overflow用户

发布于 2011-08-12 00:58:15

我认为如果你把“单词”放在一个数组中,它应该可以做到这一点。这样,您就可以验证它是否是日期,并放入一个变量。

一旦你有了日期,你就应该使用datetime library库。

票数 0
EN

Stack Overflow用户

发布于 2011-08-12 03:13:36

为什么不编写一个涵盖日期可能出现的所有可能形式的正则表达式模式,然后启动正则表达式来探索文本?我假设在字符串中表达日期的方式不是一打一打的。

唯一的问题是收集日期表达式的最大值

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7028689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档