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

在R中为fs路径字符向量的单数字文件名补前导零

实现方法

下面是几个高效的R语言实现方案,基于你已获取的CR_A_paths路径向量操作:

方案一:结合fs和stringr(推荐,语法清晰)

先提取文件名,通过正则替换补前导零,再生成新路径并重命名文件:

# 加载所需包
library(fs)
library(stringr)

# 提取原文件名
original_names <- path_file(CR_A_paths)
# 给单数字补前导零:匹配output_后接单个数字的模式,替换为带0的格式
new_names <- str_replace_all(original_names, "output_(\\d)_CR\\.csv", "output_0\\1_CR.csv")
# 生成新的完整路径
new_paths <- path_set(CR_A_paths, new_names)
# 执行重命名(注意:先确认new_names正确再执行这一步,避免误操作)
file_move(CR_A_paths, new_paths)

方案二:用Base R实现(无需额外加载stringr)

如果不想加载stringr,可以用Base R的sub函数完成正则替换:

library(fs)

original_names <- path_file(CR_A_paths)
# 用sub做替换,逻辑和上面一致
new_names <- sub("output_(\\d)_CR\\.csv", "output_0\\1_CR.csv", original_names)
new_paths <- path_set(CR_A_paths, new_names)
file_move(CR_A_paths, new_paths)

注意事项

  • 执行file_move前,建议先打印new_names检查替换结果是否符合预期,避免错误重命名
  • 正则表达式output_(\\d)_CR\\.csv只会匹配单个数字的情况,像output_22_CR.csv这类多数字文件名不会被修改,完全贴合你的需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 08:22:22