2011-04-01 77 views
2

我在ruby中有以下字符串。紅寶石後得到的一切

string = 'filename.jpg' 

我怎樣才能得到最後一切。 (returnning文件extenstion在這種情況下)

感謝 喬恩

回答

1

您可以使用Ruby的String#split() method

irb(main):001:0> string="foo.tar.gz" 
=> "foo.tar.gz" 
irb(main):002:0> string.split(".")[-1] 
=> "gz" 
+2

命名變量'字符串是愚蠢的:)命名你的變量更好的東西。留在這裏讓我感到羞恥。 – sarnold 2011-04-01 11:07:04

0
string.scan(/\.(.*)/)[-1][-1] 
#=> "jpg" 
string.match(/\.(.*)/)[-1] 
#=> "jpg" 
string.split(".")[-1] 
#=> "jpg" 
+1

該解決方案在多點的情況下不起作用。 – Ashish 2011-04-01 11:08:04

+0

哦是的,有關於最後一個點 – fl00r 2011-04-01 11:12:22

1
File.extname('filename.jpg').gsub('.', '') 

OR

'filename.jpg'.split('.')[-1] 
1
str = "some.file.ext" 

str.match(/[^.]+?$/) # => #<MatchData "ext"> 
str.match(/[^.]+?$/)[0] # => "ext"