ファイル名の取り出し・変更・操作

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

ファイルパスの、ディレクトリ部分、ベースネーム部分などを操作します。

スポンサーリンク

puts '--- ファイル名を取り出す。一番後ろの"/"以降を返す。'
p File.basename("/home/user/bin/ruby")
p File.basename("/home/user/bin/ruby/file.rb")
p File.basename("/home/user/bin/ruby/file.rb", ".rb")        # 第2引数で取り除く部分指定
 
puts '--- ディレクトリ名を取り出す。一番後ろの"/"より前を返す。'
p File.dirname("/home/user/bin/ruby")
p File.dirname("ruby")
p File.dirname("/home/user/bin/ruby/file.rb")
 
puts '--- basenameが返す部分から、拡張子を取り出して返す。'
p File.extname("/home/user/bin/ruby")
p File.extname("/home/user/bin/ruby/file.rb")
p File.extname("data.dat")
 
puts '--- dirnameとbasenameに分割し、2要素の配列を返す'
p File.split("/home/user/bin/ruby")
p File.split("/home/user/bin/ruby")[1]
p File.split("/home/user/bin/ruby/file.rb")
p File.split("/home/user/bin/ruby/file.rb")[0]
p File.split("data.dat")
 
puts '--- joinはsplitの逆。dirnameとbasenamからpathを組み立てる'
dir_base = File.split("/home/user/bin/ruby")
p dir_base
p File.join(dir_base)
p File.join("/hoge", "hoge.txt")
 
puts '--- 相対パスを絶対パスに変更'
p Dir.pwd
p File.expand_path("../../../bin")
p File.expand_path("bin", "../local/")
 

実行結果。

--- ファイル名を取り出す。一番後ろの"/"以降を返す。
"ruby"
"file.rb"
"file"
--- ディレクトリ名を取り出す。一番後ろの"/"より前を返す。
"/home/user/bin"
"."
"/home/user/bin/ruby"
--- basenameが返す部分から、拡張子を取り出して返す。
""
".rb"
".dat"
--- dirnameとbasenameに分割し、2要素の配列を返す
["/home/user/bin", "ruby"]
"ruby"
["/home/user/bin/ruby", "file.rb"]
"/home/user/bin/ruby"
[".", "data.dat"]
--- joinはsplitの逆。dirnameとbasenamからpathを組み立てる
["/home/user/bin", "ruby"]
"/home/user/bin/ruby"
"/hoge/hoge.txt"
--- 相対パスを絶対パスに変更
"C:/cygwin/usr/bin/ruby"
"C:/cygwin/bin"
"C:/cygwin/usr/bin/local/bin"
スポンサーリンク
 
スポンサーリンク