问题描述:
我有一个日期条目列表,我需要将每个日期格式转换为“DDMMYYYY”
例:a
期望的输出:"31081953", "00001953", "00081953"
解决方案:
因为有不同的格式,一个选项将extract分为'day','month'和'year',然后paste在replaceing缺失值0与str_pad格式化后library(dplyr)
library(tidyr)
library(stringr)
data.frame(a) %>%
extract(a, into = c('day', 'month', 'year'), "(\\d{2})*\\s*([a-z]*)\\s*(\\d{4})") %>%
mutate(month = match(toupper(month), toupper(month.abb))) %>%
mutate_all(funs(str_pad(replace(., is.na(.), "00"), width = 2, pad = "0"))) %>%
unite(newcol, day, month, year, sep="") %>%
pull(newcol)#[1] "31081953" "00001953" "00081953"