我有一个像"[12,34,35,231]"
这样的字符串。字符串在开头和结尾都包含方括号。
我想将此strind转换为数组'12','34','35','231'
以使用条件如:
if array.is_a? Array
...
else
...
end
我无法理解如何以正确的方式做到这一点?
答案 0 :(得分:3)
它不是转换,而是解析。
输入字符串看起来像JSON。如果是JSON,那么使用JSON Ruby模块对其进行解码:
require 'json'
arr = JSON.parse("[12,34,35,231]")
arr
是一组数字:
p arr
# [12, 34, 35, 231]
如果您需要将值作为字符串,则可以使用方法to_s
将它们转换为字符串:
arr = arr.map(&:to_s)
p arr
# ["12", "34", "35", "231"]
答案 1 :(得分:1)
您可以使用json将其转换为数组。
class T
require 'json'
def array_detect(array_string)
begin
json = JSON.parse array_string
if json.is_a? Array
# is an array
else
# not an array
end
rescue JSON::ParserError => e
puts e.message
# not a valid json string
end
end
end
答案 2 :(得分:1)
"[12,34,35,231]"[1...-1].split(',')
答案 3 :(得分:1)
DataframeFinal.merge(Dataframe1, on="ProductID")