按字符加入数组?

时间:2011-12-17 10:13:36

标签: ruby arrays

如果我有一个数组:

array = ["a","b","c","d","e","f"]

我想将它分成2个数组,然后将它们展平,但在我展平它们之前,添加一个像/这样的字符,我该怎么做?

我尝试过以下连接后,每个子数组之后不在切片的第n个值之后:

array.each_slice(5).map.join("/")

是否可以使用正则表达式,如在\w的5个计数之后?

3 个答案:

答案 0 :(得分:2)

array.each_slice(3).map{|x| x.unshift('/') }.flatten[1..-1]
# => ["a", "b", "c", "/", "d", "e", "f"] 

答案 1 :(得分:1)

看起来你想得到[“a”,“b”,“c”,“/”,“d”,“e”,“f”]

(array.each_slice(3).inject([]) {|res, item| res << '/' unless res.empty?; res << item }).flatten
# => ["a", "b", "c", "/", "d", "e", "f"]

答案 2 :(得分:0)

array.join.gsub(/(\w{3})/, '\1/').chomp('/').split('')