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

如何用正则表达式批量去除数据集变量名中的数字1/2?

批量统一数据集变量名

我有两个各包含约100个变量的数据集,变量名仅存在细微差异:数据集1的变量名为CHILD1xxx、child1xxx,数据集2的变量名为CHILD2xxx、child2xxx。希望系统性地去掉变量名中的数字(即1或2),将其统一为CHILDxxx或childxxx。考虑使用str_replace或str_replace_all函数,但不确定匹配该规则的正则表达式写法,寻求专业指点。

最终解决代码(2022年11月28日更新)

经@Josh White建议,可使用以下代码批量修改数据集的变量名:

colnames(DATASET) <- gsub("^(child)\\d+(.*)", "\\1\\2", colnames(DATASET), ignore.case = TRUE)

代码说明:

  • ^(child):匹配以child开头的字符串(ignore.case = TRUE参数忽略大小写,因此CHILD开头的变量名也会被匹配)
  • \\d+:匹配1个或多个连续数字(对应变量名中的1或2)
  • (.*):匹配数字之后的剩余所有字符
  • \\1\\2:将匹配结果替换为第一捕获组(child/CHILD)加第二捕获组(数字后的剩余字符),以此去掉中间的数字

内容的提问来源于stack exchange,提问作者Ran Yan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 02:25:29