从逗号分隔列表中删除值并将其重新转换为字符串

时间:2011-02-01 16:03:36

标签: ruby csv

我的目标是使用split方法将列表转换为数组,然后从中删除元素(depends)并使用join将数组再次转换回字符串。

2 个答案:

答案 0 :(得分:1)

要添加到user576875的答案以及您的跟进,您只需传递一个块即可选择。例如:

def remove str, &block
    str.split(',').select(&block).join(',')
end

s = "a,b,c,d"
puts s       #=> 'a,b,c,d'
t = remove(s) {|elm| elm != 'b' }
puts t       #=> 'a,c,d'

答案 1 :(得分:0)

这就是工作:

list = "a,b,c,d"
list.split(",").select{|elem| elem != "b"}.join(",")

这只是从列表中删除“b”,但您可以根据需要调整{|elem|...}块。只需返回false即可删除元素。