gpt4 book ai didi

python - 选择字符串中的日期

转载 作者:太空宇宙 更新时间:2023-11-03 16:44:26 25 4
gpt4 key购买 nike

我正在尝试编写一个代码来选择给定字符串中的日期并将这些日期解析为 ISO 日期。要将日期解析为 iso 日期,我将使用 dateutil.parser,但我无法弄清楚如何从给定字符串中选择日期。

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

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

我只想从字符串中选择“friday March 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 字符串配合得很好,但我现在需要一个从测试字符串中选择“Friday March 20”或可能仅选择“March 20”的代码

我们将不胜感激所有帮助,谢谢!

最佳答案

您可以使用HTML解析器提取h1元素文本,然后按(分割:

>>> from bs4 import BeautifulSoup
>>> data = '<h1 class="fluid">Friday March 20 (day #23)</h1>'
>>> text = BeautifulSoup(data, "html.parser").text
>>> desired_text = text.split(" (", 1)[0]
>>> desired_text
u'Friday March 20'

在此示例中,BeautifulSoup使用包。

然后你可以使用dateutil加载它:

>>> from dateutil.parser import parse
>>> parse(desired_text)
datetime.datetime(2016, 3, 20, 0, 0)
<小时/>

请注意xml.etree.ElementTree来自标准库的也将处理解析(在这种特殊情况下):

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

关于python - 选择字符串中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36455874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com