2014-09-13 47 views
0

我有分隔的字符串逗號,包含兩個URL的,就像這樣:按文件擴展名選擇串

"http://bucket.s3.amazonaws.com/uploads/45b3ab5f-9cb2-4696-91ea-5e2b8a3ef84d/c2aaecbaddfbd246c2b36d3e03144aad.mp4, http://bucket.s3.amazonaws.com/uploads/45b3ab5f-9cb2-4696-94ea-5e2b8a3ef84d/ca503efd6e59f2e887a1c52a14024v6e.webm" 

我想寫一個方法,讓我得到WEBM URL,以及mp4的URL - 基於它們的文件擴展名(不是位置...有時位置發生變化)。

我想知道如何通過使用Ruby的文件擴展名來選擇每個值的完整URL。

回答

2

分割使用String#split並篩選出字符串所需使用Array#select之一:

s = "http://bucket....aad.mp4, http://bucket...v6e.webm" 
urls = s.split(',') 
urls.select { |url| url.end_with? '.mp4' } # `String#end_with?` to match extension 
# => ["http://bucket....aad.mp4"] 
+0

我怎樣才能把周圍的括號? – cmw 2014-09-13 18:17:18

+1

@cmw,'Array#select'返回一個數組。你可以使用'[]':'urls.select {| url | url.end_with? '.mp4'} [0]'獲得第一項。 – falsetru 2014-09-13 18:18:29