我想知道如何最好地将/
之后的字符串拆分,而忽略某些字符
所以我的字符串看起来像这样
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
会更好地为我服务?
答案 0 :(得分:5)
试试这个:
require 'uri'
URI(url).path.sub(%r{^/}, "").split("/")
修改:为什么在更短,更快gsub
完全正常时使用sub
。
答案 1 :(得分:1)
也许是这样的?
url.split('/')[3..-2]
[3..-2]
表示数组的范围,它将索引3
中的所有元素转换为索引-2
-2
表示最后一个