Q
红宝石
4
A
回答
9
使用后缀参数:
# irb
irb(main):001:0> File.basename('/some/long/path/filename.extension', '.*')
=> "filename"
irb(main):002:0> File.basename('/some/long/path/filename.v1.extension', '.*')
=> "filename.v1"
2
,如果你正在寻找的正则表达式的解决方案(如标签),那就是:
irb> "/some/long/path/filename.ext1.ext2".gsub(%r{.*/|\..*$},'') => "filename"
或更有效的解决方案,而正则表达式:
irb> path = "/some/long/path/filename.ext1.ext2" => "/some/long/path/filename.extension" irb> filename = path[path.rindex('/')+1..-1] => "filename.ext1.ext2"
和裁剪扩展(S):
,如果你要裁剪的最后一个:
,如果你想要去除所有扩展(如正则表达式的解决方案相同的行为)irb> filename[0,filename.rindex('.')] => "filename.ext1"
:
irb> filename[0,filename.index('.')] => "filename"
6
还有一个路径名类:
require 'pathname'
Pathname.new("https://stackoverflow.com/a/b/c/d.txt").basename.to_s
=> "d.txt"
相关问题
- 1. 红宝石散列在红宝石
- 2. 宝石安装红宝石
- 3. 调试宝石红宝石
- 4. Twitter的红宝石宝石
- 5. 红宝石宝石 - LoadError
- 6. 错误红宝石宝石
- 7. 卸载红宝石宝石
- 8. 红宝石宝石文档
- 9. 在红宝石
- 10. 在红宝石
- 11. 红宝石
- 12. 红宝石
- 13. 红宝石
- 14. 红宝石
- 15. 在红宝石
- 16. 在红宝石
- 17. 从红宝石
- 18. 红宝石file.foreach
- 19. OS红宝石
- 20. 红宝石
- 21. 红宝石
- 22. 与红宝石
- 23. date_select红宝石
- 24. 红宝石
- 25. 红宝石
- 26. 与红宝石
- 27. 红宝石
- 28. 在红宝石
- 29. 由红宝石
- 30. 红宝石
真棒!谢谢。 – sysconfig