You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中切割字符串:如何提取指定日期字符串?

嘿,这个问题其实很好解决,我给你两种实用的思路,你可以根据自己的场景选择:

两种提取目标日期的方法

方法一:快速正则匹配(适合结构固定的场景)

如果这段HTML的格式不会变,用正则匹配是最直接简单的方式——我们只需要精准定位到var srvstr='和';之间的内容就行:

import re

# 你的HTML字符串
html_content = '<input name="submit" onclick="var srvstr=\'Friday 4th of May 2018\';someweb(srvstr);document.someemail.securitystring.value=\'\';return false;" src="images/button-submit.png" type="image"/>'

# 正则匹配目标内容
match_result = re.search(r"var srvstr='(.*?)';", html_content)
if match_result:
    target_date = match_result.group(1)
    print(target_date)  # 输出:Friday 4th of May 2018

这里的.*?是非贪婪匹配,能确保我们只拿到两个标记之间的日期内容,不会多匹配后面的代码。

方法二:用HTML解析库(更健壮,适合复杂HTML场景)

如果以后这段HTML的结构可能发生变化(比如属性顺序调整、新增其他代码),用专业的HTML解析库会更稳妥,比如BeautifulSoup:

首先你需要先安装库:pip install beautifulsoup4

然后用下面的代码:

from bs4 import BeautifulSoup

html_content = '<input name="submit" onclick="var srvstr=\'Friday 4th of May 2018\';someweb(srvstr);document.someemail.securitystring.value=\'\';return false;" src="images/button-submit.png" type="image"/>'

# 解析HTML
soup = BeautifulSoup(html_content, 'html.parser')
# 找到对应的input标签
submit_button = soup.find('input', {'name': 'submit'})
# 获取onclick属性的内容
onclick_code = submit_button.get('onclick')

# 从onclick代码里提取日期,这里用字符串分割也很方便
date_parts = onclick_code.split("var srvstr='")
if len(date_parts) > 1:
    target_date = date_parts[1].split("';")[0]
    print(target_date)  # 输出:Friday 4th of May 2018

这种方法先正确解析HTML结构,再处理属性内容,比正则更不容易因为HTML的小变动而失效。

内容的提问来源于stack exchange,提问作者P_n

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 11:12:22