我有一个字符串'["", "abc", "", "def", "", "mno", "", "", "", "", ""]'
。我想将其转换为数组并从该数组中删除空值。我想要的输出是abc;def;mno
。
有人可以帮我这么做吗?
答案 0 :(得分:4)
您可以使用JSON.parse
和select
方法:
str = '["", "abc", "", "def", "", "mno", "", "", "", "", ""]'
arr = JSON.parse(str).select(&:present?)
输出数组:["abc", "def", "mno"]
如果您想获得abc;def;mno
:
joined = arr.join(';')
输出字符串:"abc;def;mno"
希望这有帮助
答案 1 :(得分:0)
使用此代码:
str = YAML.load('["", "abc", "", "def", "", "mno", "", "", "", "", ""]')
str.select{|a| a if a != ""}.join(";")