Gegeben URI-Zeichenkette wie zu extrahieren?Der beste Weg, letztes Segment der URI in Ruby
14
A
Antwort
44
Ich würde einen richtigen URI-Parser wie die die URI module verwenden Sie den Pfad zu erhalten von der URI. Dann teilen Sie es bei /
und bekommen den letzten Teil davon:
require 'uri'
URI(uri).path.split('/').last
11
uri.split('/')[-1]
oder
uri.split('/').last
+0
Dies scheint der sauberste, einfachste Weg zu sein .. – Qasim
2
Versuchen Sie diese:
if url =~ /\/(.+?)$/
last = $1
end
Oder
last = File.basename(url)
2
Vom Terminal-Befehlszeile ein:
ruby -ruri -e "print File.basename(URI.parse('$URI').path)"
aus Ihrem .rb Quelle:
require 'uri'
theURI = 'http://user:[email protected]/foo/bar/baz/?lala=foo'
uriPathTail = File.basename(URI.parse(theURI).path) # => baz
es funktioniert gut mit was auch immer legal theURI du hattest.
Wenn Sie nicht URI.parse() verwenden, wird jeder Parameter der URL fälschlicherweise als das letzte Segment des URI verwendet.
Verwandte Themen
- 1. Der beste Weg, R in Ruby zu verwenden
- 2. Der beste Weg, Attribute Benutzermodell in Ruby hinzufügen on Rails
- 3. was der beste Weg
- 4. Get URL-Pfad ohne letztes Segment
- 5. Der beste kürzeste Weg Algorithmus
- 6. Der beste Weg IDbCommand Parameter
- 7. Was ist der beste Weg
- 8. Laravel :: Der beste Weg, Fremdschlüssel
- 9. URL-Struktur, der beste Weg
- 10. Codeigniter - Wert an uri Segment übergeben
- 11. Der beste Weg, um Iterator in Javascript
- 12. Der beste Weg, um "Pfeil" in div
- 13. Der beste Weg zur Benutzeranmeldung in Swift
- 14. Der beste Weg parametrisierte Abfrage in C#
- 15. Der beste Weg, globale Einstellungen in Django
- 16. Der beste Weg, OpenType-Schriftvorschau in PHP
- 17. Der beste Weg, Datenbank-Anwendung in C#
- 18. Der beste Weg, Flash in HTML einzubetten
- 19. Type Conversions in Ruby: Der "richtige" Weg?
- 20. Der beste Weg, die Anzahl der gleichzeitigen Threads in C#
- 21. Der beste Weg in der Shell, grundlegende Statistiken zu machen?
- 22. Der beste Weg, von Schnappschüssen Version in der Abhängigkeit
- 23. Der beste Weg, Bilder in den Speicher zu laden?
- 24. Übergeben der URL im Codeigniter-URL-Segment
- 25. Der beste Weg, Variablen zwischen Steuerungen passieren
- 26. Der beste Weg zum "clear: both"
- 27. Der beste Weg, um Fehlermeldungen zu behandeln
- 28. Der beste Weg, csv Daten zu konvertieren
- 29. Der beste Weg, Bitmap-Objekt über lan
- 30. Der beste Weg, um Erweiterungsmethoden zu implementieren
split ('/'). – oldergod
@oldergod: 'http: //example.com/where? Is = Pfannkuchen/Haus% 3F'. –
@muistooshort wie würdest du es tun? Nimm alles vom letzten '/' vor dem ersten '? – oldergod