R语言如何去除list.files命令输出结果中的文件扩展名
R语言去除list.files返回结果的文件后缀方法
以下是三种常用的实现方案:
- 方案1:使用R内置tools包的专用函数(无需额外安装依赖,最稳妥)
先加载tools包,再对返回的文件名列表做处理即可:library(tools) # 读取目录下的所有文件名 file_list <- list.files("C:\\Users\\Hp\\Documents\\Read") # 去除后缀 file_list_no_ext <- file_path_sans_ext(file_list) - 方案2:用基础R的正则替换实现(无需加载任何包)
通过sub函数匹配后缀并替换为空,写法如下:
正则说明:file_list <- list.files("C:\\Users\\Hp\\Documents\\Read") # 仅匹配并移除.jpg后缀 file_list_no_ext <- sub("\\.jpg$", "", file_list) # 如果需要适配任意后缀,可以用通用正则: # file_list_no_ext <- sub("\\.[^.]*$", "", file_list)\\.jpg$仅匹配以.jpg结尾的字符串,避免文件名中间包含jpg字符时被误替换。 - 方案3:tidyverse生态方案(已经在用fs包的场景适用)
library(fs) file_list <- list.files("C:\\Users\\Hp\\Documents\\Read") file_list_no_ext <- path_ext_remove(file_list)
内容的提问来源于stack exchange,提问作者Roshan
相关产品推荐
相关产品推荐

