2012-11-12 86 views
1

我正在Rails控制器中工作。我打電話wget命令system(wget ...),我想要一個變量,指出下載文件的文件名。由wget下載的文件名

例如,對於wget google.com,或者wget www.google.comwget www.google.com/,或wget http://www.google.com,返回的名稱應該是index.html

對於example.com/firstpage.html,返回名稱應該是firstpage.html

正如你所看到的,我不能簡單地在最後一個反斜槓後刪除名稱。我該怎麼做?

回答

0

正則表達式可以做到!

過程中,你用正則表達式得到字符串到最後/

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

puts @file #firstpage.html 

後發現everyting此正則表達式還可以處理多個轉發斜線,因此它可以用很長的URL工作了。

codepad example和一個好地方test your ruby regex

+0

Lyuben託多羅夫,謝謝您的回答。然而,正如我所指出的,我認爲正則表達式本身並不足以做到這一點(參見我的示例)。 –