0
0

URL からクエリ文字列を取り除く

Last updated at Posted at 2024-09-02

やりたいこと

URL からクエリ文字列を取り除きたい。

方法

この記事では URI オブジェクトを利用した方法を紹介する。もちろん正規表現などでも可能。

require 'uri'

url = 'http://yoyonest.jp/view/item/000000047948?category_page_id=ct26'
URI(url).tap { _1.query = nil }.to_s
#=> "http://yoyonest.jp/view/item/000000047948"

# URI は
# [scheme, userinfo, host, port, registry, path, opaque, query, fragment]
# という構成要素からなる。
# 必要に応じて、あるいは必要はないが僕のように潔癖な人は fragment も取り除くとよい。
url = 'http://yoyonest.jp/view/item/000000047948?category_page_id=ct26#:~:text=%E3%83%9E%E3%82%A6%E3%83%AB'
URI(url).tap { _1.query =  nil }.to_s
#=> "http://yoyonest.jp/view/item/000000047948#:~:text=%E3%83%9E%E3%82%A6%E3%83%AB"
URI(url).tap { _1.query = _1.fragment = nil }.to_s
#=> "http://yoyonest.jp/view/item/000000047948"

バージョン情報

$ ruby -v
ruby 3.3.4 (2024-07-09 revision be1089c8ec) [arm64-darwin23]

$ gem list | egrep "^uri"
uri (default: 0.13.0)

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0