感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

ファイル名が指定したパターンと一致するか調べる

スポンサーリンク

Rubyでファイル名が指定したパターンと一致するか調べるためには、File.fnmatch?というメソッドを使う。

パターンで使用できるワイルドカードは以下の通り。
*:任意の0文字以上にマッチ
?:任意の1文字にマッチ
[ ]:[]で囲んだ文字のどれかにマッチ

puts "*をチェック 'sample*','samplefile.txt'"
puts File.fnmatch?('sample*','samplefile.txt')
puts "----------"

puts "?をチェック 'test?.txt','test.txt'"
puts File.fnmatch?('test?.txt','test.txt')
puts "----------"


puts "?をチェック 'test?.txt','test3.txt'"
puts File.fnmatch?('test?.txt','test3.txt')
puts "----------"


puts "[]をチェック '[hoge]','fugahogebar'"
puts File.fnmatch?('[hoge]','fugahogebar')
puts "----------"

結果はこうなる。

~/dev/ruby $ ruby file_match.rb 
*をチェック 'sample*','samplefile.txt'
true
----------
?をチェック 'test?.txt','test.txt'
false
----------
?をチェック 'test?.txt','test3.txt'
true
----------
[]をチェック '[hoge]','fugahogebar'
false
----------