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