Arrays 按值将数组拆分为数组数组

Arrays 按值将数组拆分为数组数组,arrays,multidimensional-array,julia,Arrays,Multidimensional Array,Julia,转换阵列的最佳方式是什么 ["a", "bc", "", "d", "efg", "", "ijkl"] 使用“将其拆分为 [["a","bc"],["d","efg"],["ijkl"]] 在朱莉娅身上。这取决于你所说的“最好”是什么意思。以下是一种方法

转换阵列的最佳方式是什么

["a", "bc", "", "d", "efg", "", "ijkl"]
使用
将其拆分为

[["a","bc"],["d","efg"],["ijkl"]]

在朱莉娅身上。

这取决于你所说的“最好”是什么意思。以下是一种方法:

julia> x = ["a", "bc", "", "d", "efg", "", "ijkl"]
7-element Array{String,1}:
 "a"
 "bc"
 ""
 "d"
 "efg"
 ""
 "ijkl"

julia> loc = findall(isempty, x)
2-element Array{Int64,1}:
 3
 6

julia> getindex.(Ref(x), UnitRange.([1; loc .+ 1], [loc .- 1; length(x)]))
3-element Array{Array{String,1},1}:
 ["a", "bc"]
 ["d", "efg"]
 ["ijkl"]
还有一个:

julia> function splitter(x)
           out = Vector{Vector{eltype(x)}}()
           cur = eltype(x)[]
           for s in x
               if isempty(s)
                   push!(out, cur)
                   cur = eltype(x)[]
               else
                   push!(cur, s)
               end
           end
           push!(out, cur)
           return out
       end
splitter (generic function with 1 method)

julia> splitter(x)
3-element Array{Array{String,1},1}:
 ["a", "bc"]
 ["d", "efg"]
 ["ijkl"]