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