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

R语言list.files函数无法识别含括号的目录问题求助

解决R语言list.files()无法识别含括号子文件夹的问题

问题原因

list.files()默认会将pattern参数解析为正则表达式,而(和)是正则中的特殊元字符,递归遍历过程中会被当作语法符号处理,而非普通文件夹名称的一部分,因此无法匹配到名称含括号的子文件夹。

解决方法

  • 无需筛选文件时:显式设置pattern = NULL,跳过正则匹配逻辑,直接遍历所有内容:
    files <- list.files(folder, recursive = TRUE, pattern = NULL)
    
  • 需要筛选文件时:使用fixed = TRUE参数,让pattern按普通字符串匹配(而非正则规则):
    # 示例:筛选所有txt文件,同时兼容带括号的文件夹
    files <- list.files(folder, recursive = TRUE, pattern = ".txt", fixed = TRUE)
    
  • 必须使用正则匹配时:将括号转义为普通字符(在R中需用双反斜杠\\):
    # 示例:匹配名称含括号的文件夹中的所有文件
    files <- list.files(folder, recursive = TRUE, pattern = "\\(|\\)")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 17:31:59