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

Remove first part of a string that haven't fixed length

我 运行 我的代码有一些问题,我不知道如何解决。所以我的问题:

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

/resume/attachment/12/yaml_error_complete.yml

但我只想要文件名作为输出,意思是:

yaml_error_complete.yml

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

你们中有人可以帮助我吗?

非常感谢!

如果我没看错你的问题,那么,也许对你有帮助:

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

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

for ex 如果您的文件名为 "/resume/attachment/12/yaml_error_complete.yml"

那就试试这个

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

除了 split('/') 的解决方案外,您还可以执行以下操作

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