首页 > 解决方案 > 为什么以下 Regex 表达式不适用于 R Studio-Version(3.1.2) 中的 list.files 函数?

问题描述

我正在尝试使用 list.files(path = file_path , pattern = temp) 列出此文件夹中的文件并使用模式过滤所需的文件。没有错误,该文件夹中也有文件,但仍然返回字符(0)。

file_path <- "Z:\\files_R\\Results"
x <- "product-0121-2019"
temp <- sprintf("^%s(.*)test.xlsx$", x)

#i.e -->temp <- "^product-0121-2019(.*)test.xlsx$" 

files <- list.files(path =file_path,pattern = temp)

我希望文件名作为输出存储在与指定模式匹配的“文件”中。但是我得到了字符(0)。“product-0121-2019-e2-CAN-test.xlsx”这个文件位于该文件夹中,但我仍然没有得到正确的输出。

我在 R 中使用函数或语法有什么问题吗?

提前致谢!!

我尝试使用

temp <- sprintf("^[%s](.*)test.xlsx$", x)

[%s] 而不是 %s,对于某些行,这可以正常工作,但对于某些行,我收到以下错误“list.files 中的错误(path = file_name,pattern = temp):'pattern' 正则表达式无效”

标签: r

解决方案


推荐阅读