我有一个像这样的S3网址:
https://bucket.s3.amazonaws.com/uploads/1c4248b2-4256-4af4-ac1b-0e1e3f7ec2c8/filename.jpg
我想做的是,使用Ruby删除前缀https://bucket.s3.amazonaws.com/
,只留下uploads/1c4248b2-4256-4af4-ac1b-0e1e3f7ec2c8/filename.jpg
。
我不确定是否使用gsub只是用空格替换前缀(硬编码)是正确的方法 - 或者,如果有更有效的方法。
url.gsub('https://bucket.s3.amazonaws.com/', '')
答案 0 :(得分:1)
您可以使用ruby标准库中的URI
:
irb> require 'uri'
=> true
irb> u = URI("https://bucket.s3.amazonaws.com/uploads/1c4248b2-4256-4af4-ac1b-0e1e3f7ec2c8/filename.jpg")
=> #<URI::HTTPS:0x000000020995f0 URL:https://bucket.s3.amazonaws.com/uploads/1c4248b2-4256-4af4-ac1b-0e1e3f7ec2c8/filename.jpg>
irb> u.path
=> "/uploads/1c4248b2-4256-4af4-ac1b-0e1e3f7ec2c8/filename.jpg"
或者u.request_uri
也会返回URI上的所有参数。