Trying to delete lines that start with an alphabet on a text file
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Guillaume
2014-10-20
编辑:Guillaume
2014-10-20
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 个评论
Guillaume
2014-10-20
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.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!