匹配模式以从目录中选择文件

时间:2013-03-21 14:39:29

标签: r directory

让我说我运行函数list.files()

我会得到一个如下字符向量:

 tst<-c("Test.Uncx4.1_2281.2_deBruijn.txt", "Test.Vax1_3499.1_deBruijn.txt", 
"Test.Vax2_3500.1_deBruijn.txt", "Test.Vsx1_1728.1_deBruijn.txt", 
"Train.Alx3_3418.2_deBruijn.txt", "Train.Alx4_1744.1_deBruijn.txt", 
"Train.Arx_1738.2_deBruijn.txt", "Train.Bapx1_2343.1_deBruijn.txt", 
"Train.Barhl1_2590.2_deBruijn.txt", "Train.Barhl2_3868.1_deBruijn.txt"
) 

我遇到的问题是使用pattern中的参数list.files() 像这样:list.files(dirs[1], pattern = "^[Train]",ignore.case=F)

我仍然得到所有文件,而我期待只获得火车文件。 像这样:

c("Train.Alx3_3418.2_deBruijn.txt", "Train.Alx4_1744.1_deBruijn.txt", 
"Train.Arx_1738.2_deBruijn.txt", "Train.Bapx1_2343.1_deBruijn.txt", 
"Train.Barhl1_2590.2_deBruijn.txt", "Train.Barhl2_3868.1_deBruijn.txt") 

这怎么可能或我做错了什么?

1 个答案:

答案 0 :(得分:3)

你想要的是:

list.files(dirs[1], pattern = "^Train",ignore.case=F)

使用您提供的模式和括号,您将过滤名称以T,r,a,i或n开头的文件。