String Julia:使用split构造具有多列的字符串数组

String Julia:使用split构造具有多列的字符串数组,string,split,julia,String,Split,Julia,我有一个元组,它包含两条信息,由分隔,看起来像x=(“aa#b”,“a#c”,“a#d”)。我可以使用理解将这些数据转换为数组,方法如下[split(x[I],“#”)[j]表示1:length(x),j表示1:2] 但是,这似乎效率低下,因为我正在两次有效地运行split命令。有没有更好的方法来处理这个案件 多谢各位 function hashsplit(x) out = Array{SubString{String},2}(2,length(x)) for (in

我有一个元组,它包含两条信息,由
分隔,看起来像
x=(“aa#b”,“a#c”,“a#d”)
。我可以使用理解将这些数据转换为数组,方法如下
[split(x[I],“#”)[j]表示1:length(x),j表示1:2]

但是,这似乎效率低下,因为我正在两次有效地运行split命令。有没有更好的方法来处理这个案件

多谢各位

function hashsplit(x)
       out = Array{SubString{String},2}(2,length(x))
       for (ind,j) in enumerate(x)
           out[:,ind] = split(j,"#")
       end
       return out
end
应该更快。否则,列表理解的简单方法是

[(拆分(x[i],“#”)表示每个hindex(x)中的i]
(表示元组向量)

cat(2,ans…)
reduce(hcat,ans)
如果需要矩阵

应该更快。否则,列表理解的简单方法是

[(拆分(x[i],“#”)表示每个hindex(x)中的i]
(表示元组向量)


cat(2,ans…)
reduce(hcat,ans)
如果你想要一个矩阵。

尽管这是一个老问题,但这是我建议的解决方案

String.(reduce(hcat,split.(a,'#')))
我与
@time
操作员进行了核对。与Alexander提出的列表理解相比,它需要
0.042378秒(90.93k分配:4.330mib)

使用建议的解决方案进行相同操作所需的时间为
0.000028秒(34次分配:1.500千磅)

尽管这是一个老问题,但这是我建议的解决方案

String.(reduce(hcat,split.(a,'#')))
我与
@time
操作员进行了核对。与Alexander提出的列表理解相比,它需要
0.042378秒(90.93k分配:4.330mib)
, 使用建议的解决方案进行相同操作所需的时间为
0.000028秒(34次分配:1.500千磅)