Rubyでファイルの名前と拡張子を取得する
タグ: ruby / 初版公開: 2013-11-29

Rubyにはファイル名を取得するFile.basenameメソッドと、ファイルの拡張子を取得するFile.extnameメソッドが用意されている。これらのメソッドを使えば、ファイルの名前と、拡張子を分離する処理が簡単に記述できる。

ファイルの名前の取得

File.basename("hogehoge.rb", '.*') #=> "hogehoge"

ファイル名の取得はFile.basenameメソッドで行う。ファイル名だけを取得するには、第2引数にサフィックスを指定するのがポイント。.*にマッチするまでのファイル名が返される。

ファイルの拡張子の取得

File.extname("hogehoge.rb") #=> ".rb"

一方、ファイルの拡張子の取得はFile.extnameメソッドで行う。こちらは特に何も指定せずに、単にファイル名を与えれば良い。