ruby - 从 url 中删除特定部分

标签 ruby

假设我有一个像这样的网址:

https://www.youtube.com/watch/3e4345?v=rwmEkvPBG1s

仅获取 3e4345 部分的最佳且最短的方法是什么? 有时中不包含额外的参数? 我不想使用任何 gem 。

我所做的是:

    url =  url.split('/watch/')
    url =  url[1].split('/')[0].split('?')[0]

还有更好的办法吗?谢谢

最佳答案

可能是最安全、最好的。使用 URI。

URI("https://www.youtube.com/watch/34345?v=rwmEkvPBG1s").path.split("/").last

更多信息请参阅How to extract URL parameters from a URL with Ruby or Rails?

关于ruby - 从 url 中删除特定部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28998068/

相关文章:

ruby - 使用 Ruby 测量 HTTP 请求的响应时间

ruby-on-rails - 在 RubyMine 中运行规范会导致 "cannot load such file -- teamcity/spec/runner/formatter/teamcity/formatter (LoadError)"

ruby - hadoop流作业失败无法从SCDynamicStore env加载领域信息:ruby\r:无此类文件或目录

ruby - 当 attr_accessor 在类方法中时会发生什么?

Ruby - 方法参数

ruby-on-rails - 更短的 time_ago_in_words 例如。 1天前

ruby-on-rails - 是否可以对 Ruby 操作进行字符串化/排队?

mysql - 使用 gem 'dbi' 与 ruby​​ 的 Mysql DB 连接问题

ruby-on-rails - 什么时候应该在 Ruby 中使用表达式插值?

ruby - Ruby 中的并行数组