You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:07:28