2

我正在尝试从字符串中拆分提取和拆分数字和字符。我还想在每个字符串的末尾删除一些字符和数字。例如,我有以下字符串。

dm<-c("2December2005MOMENT55", "3December2005ROYALS56", "1July2012ANGELS57")

我想让它们成为

Day Month    Year
2   December 2005
3   December 2005
1   July     2012

拆分并提取值并将它们放在不同的变量下。

我正在用strsplit命令尝试这个。但我无法继续进行下去。我真的很抱歉我没有这个代码。

我希望可以有任何命令或代码建议。谢谢!

4

2 回答 2

4
  1. 转换为日期对象(格式'%d%B%Y'(给定示例))
  2. 使用year,mdaymonth获取你想要的 data.frame

df <- data.frame(string = dm, date = as.Date(dm,format = '%d%B%Y'))
df[c('Day','Month','Year')] <- with(df, list(mday(date), 
                                             month.name[month(date)],
                                             year(date)))
于 2014-10-03T06:25:01.557 回答
1

这是一个regex解决方案:

library(stringr)
str_match(dm, "(^[0-9]{1,3})([A-z]+)([0-9]{4})")[, 2:4]
##      [,1] [,2]       [,3]  
## [1,] "2"  "December" "2005"
## [2,] "3"  "December" "2005"
## [3,] "1"  "July"     "2012"
于 2014-10-03T06:36:01.023 回答