使用正则表达式拆分数据

时间:2012-09-26 10:27:03

标签: ruby-on-rails ruby regex

我有这样的数据

[{"search":true,"hidden":true,"index":"xyz"},{"search":true,"hidden":true,"index":"pqr","address":{"city":"xxxx"}}]

我想要分割数据:

  1. {"search":true,"hidden":true,"index":"xyz"}
  2. {"search":true,"hidden":true,"index":"pqr","address":{"city":"xxxx"}}
  3. 我在正则表达式方面很弱,请帮助。

3 个答案:

答案 0 :(得分:0)

尝试

collection = JSON.parse('[{"search":true,"hidden":true,"index":"xyz"},{"search":true,"hidden":true,"index":"pqr","address":{"city":"xxxx"}}]')
first = collection[0]
last = collection[-1]

答案 1 :(得分:0)

arr = [{"search":true,"hidden":true,"index":"xyz"},{"search":true,"hidden":true,"index":"pqr","address":{"city":"xxxx"}}]

arr[0] #{"search":true,"hidden":true,"index":"xyz"}
arr[1] #{"search":true,"hidden":true,"index":"pqr","address":{"city":"xxxx"}} 

答案 2 :(得分:0)

如果您的数据是该格式的单个字符串,则可能是数据结构的JSON表示。您应该使用json库将其解析为哈希数组:

require 'json'
require 'pp'

s = '[{"search":true,"hidden":true,"index":"xyz"},{"search":true,"hidden":true,"index":"pqr","address":{"city":"xxxx"}}]'

a = JSON[s]
pp a

# => [{"search"=>true, "hidden"=>true, "index"=>"xyz"},
# =>  {"search"=>true, "hidden"=>true, "index"=>"pqr", "address"=>{"city"=>"xxxx"}}