使用Ruby中的regex从路径中划分最后一个目录?

时间:2012-08-10 11:22:51

标签: regex ruby-on-rails-3 url path

我在Rails 3中使用Dir.glob收集了一份文档列表。

结果是一个类似于以下内容的路径列表:

/home/danny/nurserotas/GREEN WEEK 2ND JAN 2012.xls

我想要实现的是剥离所有内容,包括最后一个正斜杠。所以上述路径的结果是:

GREEN WEEK 2ND JAN 2012.xls

我将使用这些作为链接,所以我不确定用%20替换空格是否是个好主意。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:6)

最原始的方式:

path = /home/danny/nurserotas/GREEN WEEK 2ND JAN 2012.xls
path.split('/').last # => GREEN WEEK 2ND JAN 2012.xls

也可以这样做:File.basename(path)

答案 1 :(得分:5)

这是我推荐的方式。

File.basename("/home/danny/nurserotas/GREEN WEEK 2ND JAN 2012.xls")

作为奖励,如果您需要剥离任何扩展名:

File.basename("/home/danny/nurserotas/GREEN WEEK 2ND JAN 2012.xls", ".*")