Rubyにはファイル名を取得するFile.basename
メソッドと、ファイルの拡張子を取得するFile.extname
メソッドが用意されている。これらのメソッドを使えば、ファイルの名前と、拡張子を分離する処理が簡単に記述できる。
ファイルの名前の取得
File.basename("hogehoge.rb", '.*') #=> "hogehoge"
ファイル名の取得はFile.basename
メソッドで行う。ファイル名だけを取得するには、第2引数にサフィックスを指定するのがポイント。.*
にマッチするまでのファイル名が返される。
ファイルの拡張子の取得
File.extname("hogehoge.rb") #=> ".rb"
一方、ファイルの拡張子の取得はFile.extname
メソッドで行う。こちらは特に何も指定せずに、単にファイル名を与えれば良い。