[Ruby] Ruby で URL や Path 文字列を分割する

小ネタ。

File::SEPARATOR という定数があるんですね。

ファイルパスのセパレータです。ファイルを扱うメソッドにパス名を渡す場合などスクリプト内のパス名は環境によらずこのセパレータで統一され ます。値は “/” です。

constant File::SEPARATOR (Ruby 2.5.0)

% pry
[1] pry(main)> item = 'https://www.d-wood.com/blog/category/ruby'
=> "https://www.d-wood.com/blog/category/ruby"
[2] pry(main)> item.split(File::SEPARATOR)
=> ["https:", "", "www.d-wood.com", "blog", "category", "ruby"]

pathname 扱いやすい。

[3] pry(main)> Pathname(item).each_filename.to_a
=> ["https:", "www.d-wood.com", "blog", "category", "ruby"]