2

Railsコントローラーで作業しています。wgetコマンドを呼び出しsystem(wget ...)、ダウンロードしたファイルのファイル名を示す変数が必要です。

たとえば、、、、、、、wget google.comまたはwget www.google.comwget www.google.com/場合wget http://www.google.com、返される名前は。である必要がありますindex.html

の場合example.com/firstpage.html、戻り名は。である必要がありますfirstpage.html

ご覧のとおり、最後の円記号の後に名前を単純に削除することはできません。どうすればいいですか?

4

1 に答える 1

1

正規表現はそれを行うことができます!

正規表現で取得した文字列を処理して、最後の / の後のすべてを検索します

@url= 'http://example.com/firstpage.html'
@file = @url.scan(/[^\/]*$/i)

puts @file  #firstpage.html

この正規表現は複数のスラッシュも処理するため、長い URL でも機能します。

codepad の例とRuby 正規表現をテストするのに適した場所

于 2012-11-12T01:23:45.247 に答える