从Python中的字符串中提取年份
我该如何解析该傻瓜。在python中提取年份:
'years since 1250-01-01 0:0:0'
答案应该是1250
回答:
有各种各样的方法可以实现,以下是几种选择:
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中的字符串中提取年份 的全部内容, 来源链接: utcz.com/qa/407348.html