こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 Rubyでファイルの拡張子を取得できるFile.extnameメソッドについて
- File.extnameメソッドとは
- File.extnameメソッドを使ったサンプルプログラム
と、この記事で丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
Rubyのバージョン | 2.6.6 |
Rubyのインストールは、下の記事をご参考ください。
File.extnameメソッドとは
File.extnameメソッドとは、引数に与えられた文字列のファイル名から拡張子の部分を取得して返すメソッドです。
正確には、最後の「.」から続く文字列を返します。
ただし与えた文字列の先頭の「.」は拡張子の一部とは見なされません。
使い方サンプルは以下です。
1 |
result = File.extname("./test.txt") |
実行後はresultには
1 |
.txt |
という文字列が返されます。
「.」が複数ある拡張子は注意です。
たとえば
1 |
result = File.extname("index.html.erb") |
を実行した場合resultには
1 |
.erb |
という文字列が返されます。
File.extnameメソッドを使うときはご注意ください。
引数に与えた文字列で先頭以外に「.」がない場合は、空文字が返されます。
では、次の章で実際に使ってみます。
File.extnameメソッドを解説するプログラムの概要
File.extnameメソッドを解説するプログラムでは
- ファイル名のみの場合
- 「.」が最初にあるファイル名の場合
- 拡張子の「.」が複数あるファイル名の場合
- 拡張子の「.」が存在しない場合
の4パターンでFile.extnameメソッドを実行して取得した値を確認します。
Rubyサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
puts "■File.extnameメソッドサンプル" puts "・ファイル名のみの場合" filename1 = "sample.rb" extname1 = File.extname(filename1) puts "#{filename1}から取得した拡張子:#{extname1}" puts puts "・「.」が最初にあるファイル名の場合" filename2 = "./hogehoge/sample.txt" extname2 = File.extname(filename2) puts "#{filename2}から取得した拡張子:#{extname2}" puts puts "・拡張子の「.」が複数あるファイル名の場合" filename3 = "sample.tar.gz" extname3 = File.extname(filename3) puts "#{filename3}から取得した拡張子:#{extname3}" puts puts "・拡張子の「.」が存在しない場合" filename4 = "file" extname4 = File.extname(filename4) puts "#{filename4}から取得した拡張子:#{extname4}" |
実行結果
Rubyプログラムを実行するやり方は、以下の記事をご参考ください。
1 2 3 4 5 6 7 8 9 10 11 12 |
■File.extnameメソッドサンプル ・ファイル名のみの場合 sample.rbから取得した拡張子:.rb ・「.」が最初にあるファイル名の場合 ./hogehoge/sample.txtから取得した拡張子:.txt ・拡張子の「.」が複数あるファイル名の場合 sample.tar.gzから取得した拡張子:.gz ・拡張子の「.」が存在しない場合 fileから取得した拡張子: |
拡張子が取得できていることが確認できました。
まとめ:File.extnameメソッドを使ってみよう!
以上がFile.extnameメソッドについての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント