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

如何从含固定8位日期格式的随机字符串中提取年份?

从包含固定8位日期的随机字符串中提取年份

当然可以搞定!这种场景用正则表达式就非常合适——毕竟你的日期是固定的8位数字格式(YYYYMMDD),我们只需要先定位到这段数字,再截取前四位就是年份了。

核心思路

  • 用正则匹配字符串中的8位连续数字(也就是你的日期部分);
  • 从匹配到的8位数字中截取前4位,这就是我们要的年份。

具体实现示例

Python 版本

import re

input_str = "randomtext20221108randomtext"
# 匹配8位连续数字
date_match = re.search(r'\d{8}', input_str)
if date_match:
    date_str = date_match.group()
    year = date_str[:4]
    print(f"提取到的年份:{year}")
else:
    print("未找到符合格式的日期")

JavaScript 版本

const inputStr = "randomtext20221108randomtext";
const dateMatch = inputStr.match(/\d{8}/);
if (dateMatch) {
    const dateStr = dateMatch[0];
    const year = dateStr.slice(0, 4);
    console.log(`提取到的年份:${year}`);
} else {
    console.log("未找到符合格式的日期");
}

进阶优化:避免误匹配

如果你的字符串里可能存在其他8位数字(不是日期),可以把正则写得更精准,只匹配合理范围内的年份(比如1900-2099):

# 只匹配以19或20开头的8位数字
date_match = re.search(r'(19|20)\d{6}', input_str)

这样就能过滤掉那些不是日期的8位数字,让提取结果更准确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 09:55:16