Given URI strings like:
http://www.somesite.com/abc
http://www.somesite.com/alpha/beta/abc
http://www.somesite.com/alpha/abc
What's the most elegant way in Ruby to grab the abc
at the end of these URIs?
I would use a proper URI parser like the one of the URI module to get the path from the URI. Then split it at /
and get the last part of it:
require 'uri'
URI(uri).path.split('/').last
uri.split('/')[-1]
or
uri.split('/').last
While all the usages of split
suggested in the answers here are legit, in my opinion @matsko's answer is the one with the clearer code to read:
last = File.basename(url)
Try these:
if url =~ /\/(.+?)$/
last = $1
end
Or
last = File.basename(url)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With