को देखते हुए यूआरआई तार यूआरआई के अंतिम खंड को निकालने के लिए?सबसे अच्छा तरीका है रूबी में तरह
14
A
उत्तर
44
मैं URI module पथ प्राप्त करने के लिए एक की तरह एक उचित यूआरआई पार्सर का प्रयोग करेंगे यूआरआई से तो फिर यह /
में विभाजित है और यह के अंतिम भाग मिलती है:
require 'uri'
theURI = 'http://user:[email protected]/foo/bar/baz/?lala=foo'
uriPathTail = File.basename(URI.parse(theURI).path) # => baz
यह अच्छी तरह से काम करता है: अपने .rb स्रोत अंदर से
ruby -ruri -e "print File.basename(URI.parse('$URI').path)"
:
require 'uri'
URI(uri).path.split('/').last
11
uri.split('/')[-1]
या
uri.split('/').last
+0
यह ऐसा करने का सबसे साफ, सरल तरीका प्रतीत होता है .. – Qasim
2
इन का प्रयास करें:
if url =~ /\/(.+?)$/
last = $1
end
या
last = File.basename(url)
2
टर्मिनल कमांड लाइन से आपके पास जो भी कानूनी था, उसके साथ।
यदि आप URI.parse() का उपयोग नहीं करते हैं, तो यूआरएल के किसी भी पैरामीटर को यूआरआई के अंतिम खंड के रूप में गलत तरीके से लिया जाएगा।
विभाजन ('/')। आखिरी? – oldergod
@oldergod: 'http: //example.com/where? = = पेनकेक्स/घर% 3 एफ' है। –
@muistooshort आप यह कैसे करेंगे? पहले '?' से पहले अंतिम '/' से सबकुछ लेना? – oldergod