定的URI的字符串,如:最好的方法來提取URI的最後一段用Ruby
http://www.somesite.com/abc
http://www.somesite.com/alpha/beta/abc
http://www.somesite.com/alpha/abc
什麼是Ruby中最優雅的方式來獲取abc
在這些URI的終結?
定的URI的字符串,如:最好的方法來提取URI的最後一段用Ruby
http://www.somesite.com/abc
http://www.somesite.com/alpha/beta/abc
http://www.somesite.com/alpha/abc
什麼是Ruby中最優雅的方式來獲取abc
在這些URI的終結?
我會用一個適當的URI解析器像URI module獲得路徑的一個來自URI。然後,它在/
分裂和獲得它的最後一部分:從您的.rb源裏面
ruby -ruri -e "print File.basename(URI.parse('$URI').path)"
:
require 'uri'
theURI = 'http://user:[email protected]/foo/bar/baz/?lala=foo'
uriPathTail = File.basename(URI.parse(theURI).path) # => baz
它工作得很好
require 'uri'
URI(uri).path.split('/').last
嘗試這些:
if url =~ /\/(.+?)$/
last = $1
end
或者
last = File.basename(url)
從終端命令行與你所擁有的任何法律無關。
如果您不使用URI.parse(),則該URL的任何參數都將被錯誤地視爲URI的最後一部分。
split('/')。last? – oldergod
@oldergod:'http://example.com/where?is = pancakes/house%3F'。 –
@ muistooshort你會怎麼做?從第一個'?'之前的最後一個'/'開始? – oldergod