2017-08-17 26 views
0

私は、のような2つの情報が#で区切られたタプルを持っています。私は、このデータを次のように配列に変換するための理解を使用することができます[split(x[i], "#")[j] for i in 1:length(x), j in 1:2]Julia:複数の列を持つ文字列配列を作成するためにsplitを使う

しかし、私はsplitコマンドを2回実行しているので、これは非効率的です。このケースを取り扱う好ましい方法はありますか?

答えて

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)だろう。

関連する問題