reading a text file

1 次查看(过去 30 天)
I have a text file in the format as
65535 ,10,10000,31737,31223,32765,33280,32765,31480,31223,31223,31223,31223,31480, 65535 ,40,50000,31737,31223,32765,33280,32765,31480,31223,31223,31223,31223,31480........
It is delimited by 65535 , I want to separate these blocks of data , can u suggest me how to do that.
Regards

采纳的回答

Image Analyst
Image Analyst 2014-8-18
This way is pretty easy to follow and understand:
% Get the string from reading the file.
% (Hard coded below for the demo.)
str = '65535 ,10,10000,31737,31223,32765,33280,32765,31480,31223,31223,31223,31223,31480, 65535 ,40,50000,31737,31223,32765,33280,32765,31480,31223,31223,31223,31223,31480'
% str(str == ' ') = [] % Remove spaces.
numbers = cell2mat(textscan(str, '%d,'))
% Split up into different blocks
delimiters = find(numbers == 65535)
for k = 1 : length(delimiters)
index1 = delimiters(k)+1;
if k == length(delimiters)
index2 = length(numbers);
else
index2 = delimiters(k+1) - 1;
end
% Assign this block to one cell of a cell array.
outputs{k} = numbers(index1:index2);
end
% Display in command window:
celldisp(outputs);
Though, if you want a cryptic one-liner, someone will give you one.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Import and Export 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by