2013-04-26 42 views
1

我有一個包含按以下格式0,"20 300 40 12"數據的文件。Matlab的 - 讀取特定格式線

我怎樣才能讀取sscanf功能這個數據,使得我在一個單獨的變量在另一個變量存儲0和20 300 40 12。的問題是,內「」陣列改變其大小,所以不能用一個固定長度的數組。所以我可以在我的文件中有這樣的東西:

0,"20 300 40 12" 
0,"20 300 43 40 12" 
1,"22 40 12" 

你能給我一個如何閱讀這個提示嗎?

+0

類似的問題:http://stackoverflow.com/questions/16242074/textscan-in-matlab - 當定界符是-IN-A-場和什麼到忽略字符 – Amro 2013-04-27 18:35:07

回答

2

您是否嘗試過與此:

fid = fopen(filename,'r'); 
A = textscan(fid,'%d,%q','Delimiter','\n'); 
0

這裏是另一種方式來做到這一點:

[a,b] = textread('ah.txt','%d,"%[^"]"'); 
fun = @(x) split(' ',x); 
resb = cellfun(fun,b,'UniformOutput',false) 
res = {a resb}; 

function l = split(d,s) 
%split string s on string d 
out = textscan(s,'%s','delimiter',d,'multipleDelimsAsOne',1); 
l = out{1};