2017-10-20 104 views
0

我有以下文件:獲取一定的模式的列表文件

TAMF_Flight1.txt 
TAMF_Flight1_profile.txt 
TAMF_Flight2.txt 
TAMF_Flight2_profile.txt 
... 
TAMF_Flight10.txt 
TAMF_Flight10_profile.txt 
TAMF_Flight11.txt 
TAMF_Flight11_profile.txt 

我應該放什麼模式只拿到:

TAMF_Flight1.txt 
TAMF_Flight2.txt 
... 
TAMF_Flight10.txt 
TAMF_Flight11.txt 

或只:

TAMF_Flight1_profile.txt 
TAMF_Flight2_profile.txt 
... 
TAMF_Flight10_profile.txt 
TAMF_Flight11_profile.txt 
+0

到目前爲止您嘗試過了什麼?另外,如果您提供[完整的最小可重現示例](http://stackoverflow.com/help/mcve)以解決您的問題,則更有可能我們能夠爲您提供幫助。我們可以從中學習並使用它來向您展示如何回答您的問題。證明你已經付出了一些努力是很好的。 –

+0

你試過什麼正則表達式?通過展示這些,人們可能會提供更深入的指導,以幫助您爲魚類對魚類進行捕撈。 – hrbrmstr

+0

嗨,我試圖使用list.files(pattern = paste0(「TAMF_Flight」,1:2,「.txt」)),但產生的輸出只是TAMF_Flight1.txt –

回答

1
myfiles <- c('TAMF_Flight1.txt', 
      'TAMF_Flight1_profile.txt', 
      'TAMF_Flight2.txt', 
      'TAMF_Flight2_profile.txt') 

grep("TAMF_Flight[0-9]+[^_]", myfiles, value = TRUE) 
# [1] "TAMF_Flight1.txt" "TAMF_Flight2.txt" 

grep("TAMF_Flight[0-9]+[_]", myfiles, value = TRUE) 
# [1] "TAMF_Flight1_profile.txt" "TAMF_Flight2_profile.txt" 

使用內部模式list.files()

list.files(path = ".", pattern = "TAMF_Flight[0-9]+\\.txt") 
list.files(path = ".", pattern = "TAMF_Flight[0-9]+[_]") 
+0

嗨,我已經在我的代碼中嘗試過,但它不適用於航班10和以上 –

+0

@TruongNhatMinh希望我編輯的答案有效 – Sathish

+0

嗨,第二個列表。文件只能獲取_profile文件。但是,對於第一個,它僅適用於flight1到flight9。對於flight10和flight11,這需要兩個_profile和一個沒有_profile –