r - 重命名R中的每月列
问题描述
我有一个月度数据,其中前六列是稳定的,但其余列代表月份并分别命名(称为 01.2019 的列代表 2019 年 1 月,依此类推)。我想更改所有这些每月列的名称(现有的和未来的,因为数据将每月更新),例如上面提到的列“01.2019”将是列“201901”。我已经尝试了几个 gsub() 变体,但结果很差。
解决方案
试试下面的正则表达式。
m <- "01.2019"
sub("(\\d{2})\\.(\\d{4})", "\\2\\1", m)
#[1] "201901"
解释。
\\d{2}
正好两位数,与月份号匹配。(\\d{2})
第一个捕获组。\\.
字符.
,需要转义,因为它是元字符。\\d{4}
正好 4 位数字,与年份匹配。(\\d{4})
第二个捕获组。
然后,在替换模式中,只需交换捕获组,\\2
然后是\\1
.
推荐阅读
- node.js - 打字稿:Visual Studio 代码无法为 mssql 获得正确的打字
- c# - 发布 .net 核心应用程序“未配置启动”时出错
- google-bigquery - Bigquery 流式插入 - 找不到日志条目
- excel - 使用 VLOOKUP 数据输入公式
- azure - Azure AD B2C 密码重置
- terraform - 在 Terraform 脚本中设置 DigitalOcean 项目
- semantic-ui - 在语义 UI React 中超链接输入标签
- c# - 为什么excel实例不会退出
- scala - 如何在 apache spark SCALA 中加载 CSV 文件
- elasticsearch - 弹性搜索嵌套对象自动完成