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千磅)