我正在尝试从字符串中拆分提取和拆分数字和字符。我还想在每个字符串的末尾删除一些字符和数字。 例如,我有以下字符串。
dm<-c("2December2005MOMENT55", "3December2005ROYALS56", "1July2012ANGELS57")
我想将它们作为
Day Month Year
2 December 2005
3 December 2005
1 July 2012
拆分并提取值并将它们放在不同的变量下。
我正在使用strsplit
命令尝试此操作。但我无法继续前进。我真的很抱歉,我没有这方面的代码。
我希望能有任何命令或代码建议。谢谢!
答案 0 :(得分:4)
'%d%B%Y'
(根据提供的示例))year
,mday
和month
获取您想要的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)))
答案 1 :(得分: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"