我的数据框看起来像
df <- setNames(data.frame(c("2 June 2004, 5 words, ()(","profit, Insight, 2 May 2004, 188 words, reports, by ()("), stringsAsFactors = F), "split")
我想要的是分割日期和单词的列到目前为止我找到了 &#34; Extract date text from string&#34;
lapply(df2, function(x) gsub(".*(\\d{2} \\w{3} \\d{4}).*", "\\1", x))
但它不适用于我的例子,感谢你一如既往的帮助
答案 0 :(得分:1)
由于只有一列,我们可以在提取列后直接使用gsub/sub
。在模式中,日期可以是1或更多,类似地,单词有3个(&#39; May&#39;)或4个字符(&#39; June&#39;),所以我们需要进行这些更改
sub(".*\\b(\\d{1,} \\w{3,4} \\d{4}).*", "\\1", df$split)
#[1] "2 June 2004" "2 May 2004"