Greetings,
The program I'm developing takes the html code from an internet forecasting page, ignores all the html tags and stores the text on MATLAB as a cell array.
The problem is I can't get to replace some quotation marks I keep getting in the Output.
The program goes like this:
clc,clear;
urlwrite('http://weather.noaa.gov/cgi-bin/fmtbltn.pl?file=forecasts/marine/coastal/am/amz722.txt','Anegada_Passage_Southward.txt');
fid=fopen('Anegada_Passage_Southward.txt');
y=fgetl(fid);
data = textscan( fid, '%s', 'Delimiter', ''); %read the entire file as strings, one per line.
out = regexprep( data{1}, '<[^>]+>', '' ); %remove the HTML
for i=1:1:36
if out{i}=='';
setfield(out,{i},'');
else
getfield(out,{i});
end
end
fclose(fid);On the 'if' part I keep geeting this Error:
Error using ==> eq Matrix dimensions must agree.
Error in ==> pru at 12 if out{i}=='';
I want to repace those '' with empty lines to divide paragraphs.
What can I do?
No products are associated with this question.
The variable, out, is a cell array of strings. The functions, setfield and getfield, operate on structure arrays.
Replace the for-loop by
for ii = 1:1:36
if isempty( out{ii} )
out{ii} = []; % or do nothing
else
disp( out{ii} )
end
end
1 Comment
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/42489#comment_87163
Move "fclose(fid);" to directly after textscan. You don't want to keep the file open longer than necessary, since it may cause problems during debugging.