如何解析 foll.在 python 中提取年份:
'years since 1250-01-01 0:0:0'
答案应该是1250
请您参考如下方法:
有很多种方法可以做到,这里有几种选择:
dateutilparser在“模糊”模式下: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'用“since”和破折号分开:
In [2]: s.split("since", 1)[1].split("-", 1)[0].strip() Out[2]: '1250'或者甚至可以通过第一个破折号进行拆分并分割第一个子字符串:
In [2]: s.split("-", 1)[0][-4:] Out[2]: '1250'
最后两个涉及更多“事件部分”,可能不适用,具体取决于输入字符串的可能变化。
