This question already has answers here:
Closed 5 years ago.
What is the shortest way to remove file extension? this is what I have tried:
file = "/home/usr/my_file.xml"
file = File.basename(file)
file.slice! File.extname(file) #=> my_file
Read the documentation of File::basename
:
basename(file_name [, suffix] ) → base_name
Returns the last component of the filename given in file_name, which can be formed using both File::SEPARATOR and File::ALT_SEPARETOR as the separator when File::ALT_SEPARATOR is not nil. If suffix is given and present at the end of file_name, it is removed.
file = "/home/usr/my_file.xml"
File.basename(file,File.extname(file)) # => "my_file"