Trying to delete lines that start with an alphabet on a text file
3 views (last 30 days)
Show older comments
Hi folks,
I have a huge textfile right here with around 100k lines and I am trying to delete all the lines that start with an alphabet (not deleting the ones that start with numbers). Can anybody help? I am having trouble structuring the m file.
Thanks.
0 Comments
Accepted Answer
Guillaume
on 20 Oct 2014
Edited: Guillaume
on 20 Oct 2014
Use fopen, fgetl, fclose to read your file into a cell array and discard the lines you don't want. Or if you want to write a new file, use fopen, fprintf, fclose and write as your read:
fidi = fopen('somefile.txt', 'rt');
fido = fopen('newfile.txt', 'wt');
tline = fgetl(fidi);
while ischar(tline)
if ~isempty(tline) && tline(1) >= '0' && tline(1) <= '9'
%line to keep
fprintf(fido, '%s\n', tline);
end
tline = fgetl(fidi);
end
fclose(fidi);
fclose(fido);
edit: forgot to read the next line!
2 Comments
Guillaume
on 20 Oct 2014
Yep, I forgot a
tline = fgetl(tline);
within the loop. (You could have found that out in the documentation of fgetl that I linked).
I've edited my answer.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!