R:如何在目录中选择满足名称开头和结尾条件的文件?

Mar*_*ina 5 design-patterns r

我需要选择以"M"开头并以" .csv"结尾的文件.我可以轻松选择以"M"开头的文件:list.files(pattern ="^ M"),或以"csv"结尾的文件:list.files(pattern =". csv").但是如何选择同时满足这两个条件的文件呢?

har*_*mug 9

你可以试试 glob2rx

lf <- list.files("path_to_directory/", pattern=glob2rx("M*.csv"))
Run Code Online (Sandbox Code Playgroud)

转换为:

glob2rx("M*.csv")
[1] "^M.*\\.csv$"
Run Code Online (Sandbox Code Playgroud)


Jus*_*tin 5

pattern参数采用正则表达式:

list.files(pattern='^M.*csv')
Run Code Online (Sandbox Code Playgroud)

更具体地说,您的第二个表达式:

list.files(pattern='.csv')
Run Code Online (Sandbox Code Playgroud)

正在将所有文件与csv任何字符开头的字符串进行匹配。为明确起见,仅匹配带有.csv扩展名的文件:

list.files(pattern='\\.csv$')
Run Code Online (Sandbox Code Playgroud)