问题描述
有各种各样的方法可以实现,以下是几种选择:
-
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