如何在R语言中将带横杠的日期字符串转为无横杠格式?
当然可以实现!把"2017-10-03"转成"20171003"的几种R方法
没问题,这个需求完全能搞定,我给你分享几个常用的简单方法:
直接替换短横线(最快最直接)
用基础包的gsub()函数,把所有的-替换成空字符串就行:x <- "2017-10-03" x_new <- gsub("-", "", x) # 运行后x_new就是"20171003"先转日期再格式化(更严谨)
如果你的字符串确实是合法日期,推荐先转成Date对象再格式化输出,这样能避免原字符串格式错误导致的问题:x <- "2017-10-03" # 解析为日期对象 x_date <- as.Date(x) # 格式化为无分隔符的字符串 x_new <- format(x_date, "%Y%m%d")这里
%Y代表4位年份,%m是2位月份,%d是2位日期,组合起来就是你要的格式。用stringr包简化操作(适合tidyverse用户)
如果你平时用tidyverse生态的工具,stringr包的str_remove_all()语法更直观:library(stringr) x <- "2017-10-03" x_new <- str_remove_all(x, "-")
选哪种方法看你的场景:单纯删分隔符选第一种或第三种;要确保日期有效性的话,第二种更靠谱。
内容的提问来源于stack exchange,提问作者Skills
相关产品推荐
相关产品推荐

