【问题标题】:How do I convert a string to an array of arrays?如何将字符串转换为数组数组?
【发布时间】:2013-06-24 00:23:54
【问题描述】:

我有一个字符串,里面有一个数组:

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

我可以将其转换为数组数组,而不使用eval 或正则表达式gsub 等吗?

我可以把它变成:

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

【问题讨论】:

  • 不使用 eval 或 reg ex、gsub 等,你想用它做什么?
  • 有简单的方法吗?
  • 我认为eval 是最简单的方法,如果您担心安全性,请使用正则表达式检查字符串以确保。但似乎你不想要两者。
  • 你为什么要避开eval?能比eval("[[1, 2], [3, 4], [5, 6]]")简单多少?
  • 有人告诉我'eval' 是个坏主意,除非你真的必须这样做。

标签: ruby arrays string


【解决方案1】:

下面的呢?

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

【讨论】:

    【解决方案2】:

    同样可以使用 Ruby 标准 libaray 文档 - YAML:

    require 'yaml'
    
    YAML.load("[[1, 2], [3, 4], [5, 6]]")
     # => [[1, 2], [3, 4], [5, 6]]  
    

    【讨论】:

      猜你喜欢
      • 2021-12-13
      • 1970-01-01
      • 2021-11-20
      • 2022-01-24
      • 1970-01-01
      • 2017-11-27
      • 1970-01-01
      • 2013-05-06
      相关资源
      最近更新 更多