我想使用R的list.files列出包含此模式的文件“un [a digit]”,例如filename_un1.txt,filename_un2.txt等......这是一般代码:
list_files <- list.files(path="my_file_path", recursive = TRUE, pattern = "here I need help", full.names = TRUE)
我已尝试将un\d
放入模式输入中但不起作用。
答案 0 :(得分:4)
您应该记住,在R中,字符串允许使用转义序列。但是,正则表达式引擎需要文字\
来传递速记字符类(如数字\d
)或转义特殊字符(如\\.
以匹配文字点。)
所以,你需要
pattern = "_un\\d+\\.txt$"
,其中
_un
- 匹配文字子字符串_un
\\d+
- 匹配1位或更多位数(因为+
是一个或多个量词)\\.
- 匹配文字点txt
- 匹配文字字符序列txt
$
- 字符串结束。答案 1 :(得分:0)
list_files <- list.files(path="my_file_path", recursive = TRUE, pattern = "un[0-9]", full.names = TRUE)