2011-04-01 57 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"