スリ飯屋MaLankaのフリーエンジニアな日々

このブログでは、フリーランス6期目となる自身の実体験から、フリーランスエンジニアになるためのノウハウ、ブログや沖縄移住、スリランカの最新情報について発信します。

【Ruby】URL文字列から、相対パスを取得する手順

※提携先の広告(リンク、バナー等)を含む場合があります


こんにちは、現役沖縄フリーランスエンジニアのmah(MaLanka)です。


このブログでは、

僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、

ノウハウなどを書いていきます。


今回は、

  • 【Ruby】URL文字列から、相対パスを取得する手順

について書いていきます。


【Ruby】URL文字列から、相対パスを取得する手順


手順


まず URI.parse でURI::Generic のサブクラスのインスタンスを生成します。


URI.parse(URL文字列)

[6] pry(main)> URI.parse('https://mah666hhh.hatenablog.com/entry')
=> #<URI::HTTPS https://mah666hhh.hatenablog.com/entry>


相対パスは、.path で取得出来ます。


URI.parse(URL文字列).path

[7] pry(main)> URI.parse('https://mah666hhh.hatenablog.com/entry').path
=> "/entry"


今回、

自分はパスの頭の / が不要だったので、delete(‘/‘)で削除します。


URI.parse(URL文字列).path.delete('/')

[8] pry(main)> URI.parse('https://mah666hhh.hatenablog.com/entry').path.delete('/')
=> "entry"


これでURLから欲しい文字列を取り出す事ができました。


参考リンク


URI.parse (Ruby 3.4 リファレンスマニュアル)

標準添付ライブラリ紹介 【第 8 回】 uri, pathname

String#delete (Ruby 3.4 リファレンスマニュアル)