2013-06-24 102 views
10

我有內部數組的數組的字符串:如何將字符串轉換爲數組數組?

"[[1, 2], [3, 4], [5, 6]]" 

我可以將其轉換爲數組的數組,而無需使用eval或正則表達式,gsub等?

我可以把它變成:

[[1, 2], [3, 4], [5, 6]] 
+0

不使用eval或REG前,GSUB等,所以要做到這一點的呢? – leonhart

+0

有沒有簡單的方法來做到這一點? – tomgalpin

+1

我認爲'eval'是最簡單的方法,如果您擔心安全性,請使用正則表達式檢查字符串以確保安全。但似乎你不想兩個。 – leonhart

回答

21

怎麼樣以下?

require 'json' 
arr = JSON.parse("[[1, 2], [3, 4], [5, 6]]") # => [[1, 2], [3, 4], [5, 6]] 
arr[0] # => [1, 2] 
+2

正如他們所說,「賓果!」 –

+2

這工作完美。謝謝!! – tomgalpin

9

同樣可以使用Ruby標準libaray文件來完成 - YAML

require 'yaml' 

YAML.load("[[1, 2], [3, 4], [5, 6]]") 
# => [[1, 2], [3, 4], [5, 6]] 
相關問題