python-选择字符串中的日期

python-选择字符串中的日期,python,string,date,parsing,select,Python,String,Date,Parsing,Select,我试图编写一个代码,在给定字符串中选择日期,并将这些日期解析为ISO日期。要将日期解析为iso日期,我将使用dateutil.parser,但我不知道如何从给定字符串中选择日期 这是我要从中选择日期的字符串: <h1 class="fluid">Friday March 20 (day #23)</h1> 我只想从字符串中选择3月20日星期五的部分。我就是想不出怎么解决这个问题。 这是我目前掌握的代码: import dateutil.parser as parse

我试图编写一个代码,在给定字符串中选择日期,并将这些日期解析为ISO日期。要将日期解析为iso日期,我将使用dateutil.parser,但我不知道如何从给定字符串中选择日期

这是我要从中选择日期的字符串:

<h1 class="fluid">Friday March 20 (day #23)</h1>
我只想从字符串中选择3月20日星期五的部分。我就是想不出怎么解决这个问题。 这是我目前掌握的代码:

  import dateutil.parser as parser

    def extract_date(h1):
        date = (parser.parse(h1))
        return(date.isoformat())[:10]

    test = "<h1 class=\"fluid\">Friday March 20 (day #23)</h1>"
    test2 = "Friday March 20"

    print extract_date(test2)
产出:2016-03-20

正如您所看到的,代码可以很好地与test2字符串一起工作,但是我现在需要一个代码,从测试字符串中选择3月20日星期五,或者可能只选择3月20日

感谢您的帮助

您可以使用HTML解析器提取h1元素文本,然后按以下方式拆分:

请注意,在这种特殊情况下,来自标准库的数据也将处理解析:

>>> import xml.etree.ElementTree as ET
>>> ET.fromstring(data).text
'Friday March 20 (day #23)'

字符串是否总是以相同的子字符串开头和结尾?所有字符串都以开始吗?日期设置为2016年,因为文本中没有给出年份,所以我假设默认值为2016年。我正在分析一个2015年编写的网站,那么是否有可能将默认年份更改为2015年?@Code初学者12当然,提供一个默认parsedesired_text,default=datetime2015,1,1。
>>> from dateutil.parser import parse
>>> parse(desired_text)
datetime.datetime(2016, 3, 20, 0, 0)
>>> import xml.etree.ElementTree as ET
>>> ET.fromstring(data).text
'Friday March 20 (day #23)'