【问题标题】:Ruby, getting path from path+filenameRuby,从路径+文件名获取路径
【发布时间】:2011-11-16 00:36:46
【问题描述】:

编程语言:Ruby 1.9

问题字符串:C:/Test/blah.txt
C:/Test/

我知道这是一个简单的问题,但 Google 和 File 的 Ruby quickref 对我没有解决方案。
而且我没有使用正则表达式的经验。

【问题讨论】:

    标签: ruby directory


    【解决方案1】:

    使用 Ruby File.dirname 方法。

    File.dirname("C:/Test/blah.txt")
    # => "C:/Test" 
    

    【讨论】:

    • 对我来说,File.dirname("/a/b/c/d") 正确返回 /a/b/cFile.dirname("/a/b/c/d/")(斜杠)返回 /a/b/c
    • 在 ruby​​ 文档中没有上下文的信息太多了,无法准确找到您目前正在寻找的内容。如果你已经知道了,那就好好复习一下,或者如果你想知道一切,那就去学习吧,如果你在一个项目中,只需要知道这一件事,那就太可怕了。非常感谢您的回答,让我的生活轻松多了。
    【解决方案2】:

    更通用的是 Ruby Pathname 类:

    require 'pathname'
    
    pn = Pathname.new("C:/Test/blah.txt")
    p pn.dirname.to_s + Pathname::SEPARATOR_LIST
    

    给出C:/Test/

    【讨论】:

      猜你喜欢
      • 2012-01-21
      • 2015-04-22
      • 2014-07-24
      • 2012-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-01
      相关资源
      最近更新 更多