MATLAB: How to Split a Text File into Many Text Files

split text file

I have a text file which contains many Paragraphs.
Each Paragraph starts with a "greater than" ( > ) symbol.
I would like to split each paragraph into new text file using MATLAB.
Is it possible ?

Best Answer

Does the ">" appear as first character in a line or anywhere? Assuming the first:
Str = fileread(FileName);
CStr = regexp(Str, '\n', 'split');
Index = [find(strncmp(CStr, '>', 1)), length(CStr) + 1];
for iP = 1:length(Index - 1);
FID = fopen(sprintf('Paragraph%2d.txt', iP), 'w');
if FID == - 1, error('Cannot open file for writing'); end
fprintf('%s\n', CStr{Index(iP):Index(iP + 1) - 1});
fclose(FID);
end
Related Question