我正在使用ruby Dir方法獲取目錄中的所有文件名。就像這樣:從此ruby字符串中提取文件路徑
dir_files = Dir["/Users/AM/Desktop/07/week1/dailies/regionals/*.csv"]
這給了我與每個元素的數組如下:
/Users/AM/Desktop/07/week1/dailies/regionals/ch002.csv
/Users/AM/Desktop/07/week1/dailies/regionals/ch014.csv
/Users/AM/Desktop/07/week1/dailies/regionals/ch90.csv
/Users/AM/Desktop/07/week1/dailies/regionals/ch112.csv
/Users/AM/Desktop/07/week1/dailies/regionals/ch234.csv
我試着提取上述字符串的只是部分匹配:「地區性/ * CSV」
我該如何在Ruby中做到這一點?
以下沒有工作
@files_array.each do |f|
f = f.split("/").match(/*.csv/)
i = f.include?(".csv")
puts "#{i.inspect}"
#self.process_file(f[i])
end
請告訴我這樣做的一個聰明的辦法?我打算將每個文件名的返回字符串傳遞給一個輔助方法進行處理。但正如你所看到的,所有的csv文件都與我執行的腳本位於不同的目錄中。 我的腳本,多數民衆贊成在執行此位於
/Users/AM/Desktop/07/week1/dailies/myScript.rb
感謝
這個解決方案非常棒,因爲「區域」這個詞不是硬編碼到方法中的。只要腳本文件的相對路徑不改變,目錄名就可以是任何東西。謝謝 – banditKing