ruby - 根据 Ruby 中的字符拆分 URL

标签 ruby

我想知道如何最好地通过 / 拆分以下字符串但忽略某些字符

所以我的字符串看起来像这样

url = http://10.0.3.2/i/av/Genymotionvbox86p/android/10~3~1/0/-/-/a3306aa6~0346~4ad5~bdf5~1bc7c20a88ab/0/test~page/-/-/video/live/-/one_hd/-/0/1/0~0/-/0~0/0~0/?trace=skwthffdsy

我想通过 / 忽略 http:// 和末尾的查询字符串,期望的结果看起来像

["i", "av", "Genymotionvbox86p", "android", "10~3~1", "0", "-", "-",
  "a3306aa6~0346~4ad5~bdf5~1bc7c20a88ab", "0", "test~page", "-", "-",
  "video", "live", "-", "one_hd", "-", "0", "1", "0~0", "-", "0~0", "0~0"]

所以目前 url.split('/') 让我到目前为止,但它是我卡住的排除或某些字符

也许使用 scan 会更好?

最佳答案

试试这个:

require 'uri'
URI(url).path.sub(%r{^/}, "").split("/")

编辑:当更短更快的 sub 非常好时,为什么要使用 gsub

关于ruby - 根据 Ruby 中的字符拆分 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39289832/

相关文章:

java - 如何从 JRuby 中的 ScriptingContainer 执行的 ruby​​ 脚本初始化 Java 对象?

ruby-on-rails - 回形针 - 更新数据库中存在但 S3 上不存在的附件

ruby-on-rails - Ruby 解释器 (CUI) 1.9.2p180 [i386-mingw32] 已停止工作(我没有使用 MySQL)

ruby - 如何从 Xubuntu 的终端停止 Ruby WEBrick 应用程序

php - PHP 的__autoload() 有多独特?

ruby-on-rails - 通过 ID 数组的关联创建多个 has_many

ruby - 是否有预先构建的函数来添加两个数组中的元素?

html - 如何在 ERB (Rails) 中包装父 div 中的每个 N 元素?

ruby-on-rails - 将 block 传递给 delayed_job

Ruby IO.popen 带有 "-",幕后发生了什么?