2017-08-17 34 views
0

我有一個元組,其中包含兩條由#分隔的信息,看起來像x = ("aa#b", "a#c", "a#d")。我可以通過以下方式使用理解將這些數據轉換爲數組:[split(x[i], "#")[j] for i in 1:length(x), j in 1:2]Julia:使用split構造多列字符串數組

但是,這似乎效率低下,因爲我有效地運行兩次拆分命令。有處理這種情況的首選方法嗎?

謝謝

回答

3
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 

應該會更快。否則,與列表理解一個簡單的辦法是

[(split(x[i], "#")...) for i in eachindex(x)](元組的向量)

cat(2,ans...)reduce(hcat, ans)如果你想要一個矩陣。

相關問題