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

如何从无固定格式的日期字符串中提取年份(附R语言示例)

提取无固定格式日期中的年份

你的数据集里日期格式不固定,但能确定存在四位数字的年份,直接用正则匹配连续四位数字就能提取——因为月、日都是1-2位,不会干扰匹配结果。

示例数据集

V1 <- c("02/04/1999", "2003/02", "01/2023")
df <- as.data.frame(V1)

方法1:Base R 实现

用regmatches配合正则表达式提取:

df$year <- regmatches(df$V1, regexpr("\\d{4}", df$V1))

方法2:stringr 包实现(更简洁)

如果习惯用tidyverse工具,用str_extract函数:

library(stringr)
df$year <- str_extract(df$V1, "\\d{4}")

运行结果

处理后的数据框会新增year列,内容为:

[1] "1999" "2003" "2023"

正则表达式说明:\\d{4}表示匹配连续4个数字,刚好对应你数据里的四位年份,能完美适配所有格式的日期字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 11:04:58