python - 如何从文本中提取日期(任何格式)?
问题描述
假设我有类似Based on 1. And it is 15-May-2016
. 我必须从可以是任何格式的文本中找到日期。我正在与
list( datefinder.find_dates( text, strict = False))
问题是这个函数将 1. 作为 2021, 4, 1 如果我设置strict = False
并且如果我设置strict =True
那么它没有检测到 2016 年 5 月 15 日。
有没有其他方法可以从文本中找到任何格式的日期?
解决方案
如果您知道您感兴趣的日期总是超过 7 个字符,那么您可以这样做:
>>> import datefinder
>>> text = "Based on 1. And it is 15-May-2016."
>>> for dt, idx in datefinder.find_dates( text, strict=False, index=True):
... if idx[1] - idx[0] > 7:
... print(dt, text[idx[0]: idx[1]])
2016-05-15 00:00:00 15-May-2016.
推荐阅读
- powershell - Powershell将文本添加到cvs文件
- ios - 如何从 iOS SDK 中的设备(“照片”)中永久删除 PHAsset?
- java - net.sf.jasperreports.engine.JRException:从 bean 检索字段值时出错:全名。使用 NativeQuery 时
- azure - 您知道如何使用 azure 命令行创建自定义域名吗?
- regex - 将包含特殊字符的字符串与不包含特殊字符的字符串匹配
- node.js - Mongoose:如何跨多个级别填充并同时使用字段选择?
- c - 那时,C 中的 char 变量是否默认声明为无符号?
- discord-jda - 有没有办法我可以制作一种 One way vc bot 的东西
- c - 在 gtk+3 小部件中嵌入 X11 窗口
- flutter - Flutter web,授权后更新navbar