使用 R 从文本中提取日期

Extracting Date from text using R

我的数据框看起来像

df <- setNames(data.frame(c("2 June 2004, 5 words, ()(","profit, Insight, 2 May 2004, 188 words,  reports, by ()("), stringsAsFactors = F), "split")

我想要的是拆分日期和单词的列到目前为止我找到了 “

lapply(df2, function(x) gsub(".*(\d{2} \w{3} \d{4}).*", "\1", x))

但它不适用于我的示例,感谢您一如既往的帮助

由于只有一列,我们可以在提取列后直接使用gsub/sub。在模式中,天数可以是 1 个或更多,类似的单词有 3 个('May')或 4 个字符('June'),所以我们需要进行这些更改

sub(".*\b(\d{1,} \w{3,4} \d{4}).*", "\1", df$split)
#[1] "2 June 2004" "2 May 2004"