如何用list.files(pattern=...)筛选以s1结尾的指定文件?
筛选特定格式文件的list.files匹配规则
要仅筛选出file_aX_s1.csv格式的文件并排除s10结尾的文件,你需要使用精确匹配的正则表达式,确保文件名以_s1.csv结尾,而非s1后跟着其他字符再到.csv。
具体匹配规则
使用以下正则表达式作为pattern参数:
list.files(pattern = "^file_a\\d+_s1\\.csv$")
规则分解
^:匹配字符串开头,确保文件名以file_a起始file_a:匹配文件名中的固定前缀\\d+:匹配一个或多个数字(对应aX中的X)_s1:精确匹配_s1部分,避免与s10中的s1混淆\\.csv:匹配.csv后缀(\\用来转义.,因为它在正则中是特殊字符)$:匹配字符串结尾,确保文件名在_s1后直接是.csv,无多余字符
这样就能精准筛选出所有file_aX_s1.csv文件,忽略file_aX_s10.csv这类不符合要求的文件。
内容的提问来源于stack exchange,提问作者Phoebe
相关产品推荐
相关产品推荐

