将字符串转换为数组的更好方法

时间:2015-06-29 07:56:05

标签: arrays ruby

我有来自网址的http响应:

response = Net::HTTP.get(uri) 
=> "[1,2,3,4,5]"

响应是一个字符串,但我想将其转换为类似

的数组
=> [1,2,3,4,5]

所以我现在正在这样做:

response = response.split('[').join.split(']').join.split(',').map{|n| n.to_i}

我觉得这不是礼仪方式,有没有更好的方法来做到这一点。提前致谢。

3 个答案:

答案 0 :(得分:4)

对我来说,它看起来像是json字符串。您可以使用JSON#parse来解析它:

require 'json'
JSON.parse "[1,2,3,4,5]"
# => [1, 2, 3, 4, 5]

答案 1 :(得分:2)

答案 2 :(得分:2)

如果您不想将其解析为json,可以使用一点正则表达式。

"[1,2,3,4,5]".scan(/\d+/).map(&:to_i)