http://www.ruby-doc.org/core-2.0/File.html
File.basename("/home/gumby/work/Hello.txt") #=> "Hello.txt"
File.basename("/home/gumby/work/Hello.txt", ".txt") #=> "Hello"
是否存在不区分大小写后缀的API?我想要以下内容:
File.basename("/home/gumby/work/Hello.TXT", ".txt") #=> "Hello.TXT"
返回"Hello"
,而不是"Hello.TXT"
或"hello"
。
答案 0 :(得分:2)
不幸的是,没有。但是,File.basename中真正与平台无关的部分在于路径操作,而不是后缀。因此,您可以通过gsub:
轻松替换后缀删除File.basename(my_path).gsub(/\.txt$/i, '')
答案 1 :(得分:0)
怎么回事?
File.basename("ab.TXT","txt".upcase)
#=> "ab."
File.basename("ab.txt","TXT".downcase)
#=> "ab."
答案 2 :(得分:-1)
File.basename(file, File.extname(file))