删除文件扩展名的最短方法是什么?这就是我的尝试:
file = "/home/usr/my_file.xml"
file = File.basename(file)
file.slice! File.extname(file) #=> my_file
答案 0 :(得分:45)
阅读File::basename
的文档:
basename(file_name [,suffix])→base_name
返回file_name中给出的文件名的最后一个组件,当File :: ALT_SEPARATOR不为nil时,可以使用File :: SEPARATOR和File :: ALT_SEPARETOR作为分隔符。 如果后缀已给出并出现在file_name的末尾,则会将其删除。
file = "/home/usr/my_file.xml"
File.basename(file,File.extname(file)) # => "my_file"