0
A
回答
2
它真的取决于字符串。一个字符串实际上不能包含一个数组 - 它可以包含一些文本,只要给定一个合适的解析器就可以将其解析为一个数组。
在这种情况下,您的字符串恰好是一个数组的一个有效的JSON表示,所以你可以做:
JSON.parse("[\"item1\",\"item2\",\"item3\"]")
,你会得到这些字符串数组。
3
Ruby有一个eval
function
irb(main):003:0> x = '["item1","item2","item3"]'
=> "[\"item1\",\"item2\",\"item3\"]"
irb(main):004:0> eval(x)
=> ["item1", "item2", "item3"]
irb(main):005:0>
它可能不是安全使用eval
,所以你可能要考虑使用Binding
了。
0
如果你写
str = '"["item1","item2","item3"]"'
#=> "\"[\"item1\",\"item2\",\"item3\"]\""
或
str =<<_
"["item1","item2","item3"]"
_
#=> "\"[\"item1\",\"item2\",\"item3\"]\""
或
str = %q{"["item1","item2","item3"]"}
#=> "\"[\"item1\",\"item2\",\"item3\"]\""
,那么你可以写
str.scan(/[a-z0-9]+/)
#=> ["item1", "item2", "item3"]
相关问题
- 1. 红宝石数组值串
- 2. 从红宝石串
- 3. 红宝石 - 从JSON数组
- 4. 红宝石数组
- 5. 红宝石串
- 6. 红宝石:从内部类
- 7. 桑达从内红宝石
- 8. 红宝石推字符串数组
- 9. 红宝石字符串数组转换
- 10. 红宝石字符串数组方法
- 11. 红宝石,从组合
- 12. 从红宝石
- 13. 从红宝石
- 14. 从红宝石
- 15. 从红宝石
- 16. 从红宝石
- 17. 从红宝石
- 18. 从红宝石
- 19. 西纳特拉组设定(红宝石)
- 20. 红宝石数组排序
- 21. 红宝石:访问数组
- 22. 遍历数组红宝石
- 23. 红宝石多维数组
- 24. 红宝石数组哈希
- 25. 红宝石:数组操作
- 26. 拆分数组。红宝石
- 27. 红宝石 - 订购数组
- 28. 红宝石数组输入
- 29. 无法从数组在红宝石
- 30. 红宝石:从嵌套数组
这将执行任意代码。如果除了你以外的任何人对'x'的内容有任何影响,他们可能会控制你的计算机。它*一般*不是一个好主意。 – Chuck
@Chuck你是对的。只使用'eval'不是一个好主意。我正在编辑我的答案,在'eval'上面使用绑定。谢谢 – karthikr
AFAIK很难提出一个没有潜在可利用性的绑定,所以我仍然对这样做感觉不好。 – Chuck