删除没有固定长度的字符串的第一部分

时间:2016-11-30 12:06:12

标签: ruby-on-rails ruby carrierwave

我的代码遇到了一些问题而且我不知道如何修复它。所以我的问题是:

在我的应用程序视图中,有一个文件路径显示如下:

/resume/attachment/12/yaml_error_complete.yml

但我只希望文件名为Output,意思是:

yaml_error_complete.yml

我怎样才能做到这一点?我尝试了几个选项,如string.slice!等,但它不起作用,因为"附件后面的数字"每次上传都会增加1。一开始我想过简单地删除2个字符,不管它们是什么。但后来我遇到了上传100文件时发生的另一个问题。在这种情况下,我将不得不删除3个字符而不是2个字符,并且在我的问题开始时我又一次。

愿你们有人能帮帮我吗?

非常感谢!

3 个答案:

答案 0 :(得分:3)

如果我理解你的问题,那么,也许它可以帮助你:

a = "/resume/attachment/12/yaml_error_complete.yml"
a.split('/').last
#=> "yaml_error_complete.yml"

答案 1 :(得分:3)

我假设您需要检索路径文件。

如果你的文件名是"/resume/attachment/12/yaml_error_complete.yml"

,请输入

然后尝试这个

"/resume/attachment/12/yaml_error_complete.yml".split('/').last

答案 2 :(得分:2)

除了使用split('/')进行说明之外,您还可以执行以下操作

File.basename("/resume/attachment/12/yaml_error_complete.yml")