这是我的代码
file_name = Dir['path/xml/test/*.txt']
file_name.to_s # => ["path/xml/test/test.txt"]
我想回来:
"test"
我可以使用以下代码执行此操作:
file_name = Dir['path/xml/test/*.txt']
file_name.to_s[15,60].gsub(/.txt["]/,"").gsub(/]/,"")
但它不是很优雅。有没有更优雅的方法只返回没有.txt
和[]
的文件名?
答案 0 :(得分:5)
是
File.basename(Dir['path/xml/test/*.txt'].first, ".txt")
# => "test"
为所有文件执行此操作,
Dir['path/xml/test/*.txt'].map{|e| File.basename(e, ".txt")}
答案 1 :(得分:0)
如果有更多文件,也可以......
Dir[ 'path/name/*.txt' ].map { | e |
File.basename( e ).split(".").first
}