微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从Python中的字符串中提取年份

如何解决从Python中的字符串中提取年份

有各种各样的方法可以实现,以下是几种选择:

  • dateutil“模糊”模式下的解析器

    In [1]: s = 'years since 1250-01-01 0:0:0'
    

    In [2]: from dateutil.parser import parse

    In [3]: parse(s, fuzzy=True).year # resulting year would be an integer Out[3]: 1250

  • 具有 捕获组的 正则表达式:

    In [2]: import re
    

    In [3]: re.search(r”years since (\d{4})”, s).group(1) Out[3]: ‘1250’

  • 先用“自”分割,再用破折号分割:

    In [2]: s.split("since", 1)[1].split("-", 1)[0].strip()
    

    Out[2]: ‘1250’

  • 甚至可能被第一个破折号分割成第一个子字符串:

    In [2]: s.split("-", 1)[0][-4:]
    

    Out[2]: ‘1250’

后两个涉及更多的“活动部分”,根据输入字符串的可能变化,可能不适用。

解决方法

我该如何解析该傻瓜。在python中提取年份:

'years since 1250-01-01 0:0:0'

答案应该是1250

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。