Ruby:在字符串之间获取字符串?

时间:2015-01-24 13:28:41

标签: ruby

我希望得到3stars http://images.penguinmagic.com/images/3stars.gif 我该怎么做?不使用regex可以优雅地完成吗?

我可以使用split 2次,但认为这是非常糟糕的代码。

2 个答案:

答案 0 :(得分:4)

一个简单的选择是:

url = "http://images.penguinmagic.com/images/3stars.gif"
File.basename(url, File.extname(url)) # => "3stars"

答案 1 :(得分:0)

你也可以使用rpartition:

url.rpartition('.')[0].rpartition('/')[2]

但是我没有看到两个分裂或甚至使用正则表达式的“坏代码”出现太大问题,除非你对regexp感到不舒服,在这种情况下这将是一个很好的机会开始了解他们。