2013-04-26 39 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};