Wie man die Endung der Datei von einer url?
Neuen ruby, wie kann ich die Endung der Datei von einer url wie:
http://www.example.com/asdf123.gif
Auch, wie würde ich dieses format-string in c# würde ich das tun:
string.format("http://www.example.com/{0}.{1}", filename, extension);
- Würde ich dringend empfehlen, mit der URI oder der Adressierbaren/URI Bibliotheken. Während Sie können direkt injizieren Werte in der URL mit der Formatierung, die Bibliotheken bieten eine Menge an netten features für die Aufsplittung der URL in seine Bestandteile, den Wiederaufbau, und sicherstellen, dass die url aufgebaut ist korrekt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Datei.extname
Formatieren den string
if extension.empty?
File.extname
wird nicht Streifen aus einem query-string. Also, wenn Sie Ihre url isthttp://www.example.com/download.mp3?hello=world
dann wird es wieder.mp3?hello=world
. Nur etwas im Auge zu behalten.Dies funktioniert für Dateien mit query-string
gibt auch "" wenn die Datei hat keine Erweiterung
Erhalten Sie für die Erweiterung eines URL(in der einfachsten Art und Weise möglich ist). Nun, für Ausgabe formatieren von:
url.split('.').last
und"http://www.example.com/%s.%s" % [filename, extension]
.Könnten Sie Ruby ' s URI-Klasse wie diese, um das fragment der URI (d.h. den relativen Pfad der Datei) und teilen Sie es in der letzten vorkommen eines Punkt (dies funktioniert auch, wenn die URL enthält eine query-Teil):
string.split()
?URI::split
Methode sollte auch darauf achten, von diesen Fällen. irb(main):020:0> URI.split('example.org/... => "php"fragment
' ist eine ordnungsgemäße Teil eines URL: es ist der Teil, den folgenden#
am Ende, die Angabe einer Lage in die Seite.http://www.example.com/asdf123.gif#foo
hat#foo
als sein fragment. Ruft den Dateinamen ein fragment ist verwirrend, wenn der Umgang mit URLs.Ich weiß, das ist eine alte Frage, aber hier ist eine weitere Stimme für die Verwendung Adressierbar. Sie können die
.extname
Methode, die funktioniert wie gewünscht, auch mit einem query-string: