Skip to main content
 首页 » 编程设计

python之从python中的字符串中提取年份

2025年05月04日15birdshome

如何解析 foll.在 python 中提取年份:

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

答案应该是1250

请您参考如下方法:

有很多种方法可以做到,这里有几种选择:

  • dateutil parser在“模糊”模式下:

    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' 
    

最后两个涉及更多“事件部分”,可能不适用,具体取决于输入字符串的可能变化。