切断给定字符串的文件名和扩展名

Chr*_*ldt 0 ruby regex string path

我构建了一个小脚本,用于解析给定文件类型的文件的目录,并将该位置(包括文件名)存储在数组中.看起来像这样:

def getFiles(directory)
  arr = Dir[directory + '/**/*.plt']
  arr.each do |k|
    puts "#{k}"
  end
end
Run Code Online (Sandbox Code Playgroud)

输出是路径和文件.但我只想要这条道路.

而不是/foo/bar.txt我只想要/ foo /

我的第一个想法是regexp,但我不知道该怎么做.

Jam*_*ory 7

难道File.dirname有什么用处?

File.dirname(file_name)→dir_name

返回file_name中给出的文件名的所有组件,但最后一个除外.无论本地文件系统上使用的分隔符如何,都必须使用正斜杠("/")形成文件名.

File.dirname("/home/gumby/work/ruby.rb") #=> "/home/gumby/work"
Run Code Online (Sandbox Code Playgroud)