Text file help.

조회 수: 1 (최근 30일)
Jason
Jason 2011년 3월 28일
How can I delete the end of the table to the end of the text file. Also how can I pull out the last number, in this case 91?
@89 A 0.009 0.988 0.004 0.004
@90 B 0.002 0.002 0.991 0.003
@91 C 0.002 0.003 0.004 0.989
Next line of text
erwerwerwererwerwer
ewrwerwerwerwe
werwerewrwe
werwerwerwe
werwerwer

채택된 답변

Jan
Jan 2011년 3월 28일
FID = fopen(FileName, 'r');
if FID == -1; error('Cannot read file'); end
Data = textscan(FID, '%s', 'delimiter', '\n', 'whitespace', '');
fclose(FID);
CStr = Data{1};
startWith_at = strncmp(CStr, '@', 1);
last_at = find(startWith_at, 1, 'last');
last_number = sscanf(CStr{last_at}, '@%d');
% Delete trailing lines:
CStr(last_at + 1:end) = [];
Do you want to write the file afterwards?
FID = fopen(FileName, 'w');
if FID == -1; error('Cannot read file'); end
fprintf(FID, '%s\n', CStr{:});
fclose(FID);

추가 답변 (1개)

A
A 2011년 3월 28일
read file line by line with tab separator; check for @ character; ignore or delete all strings that do not start with @.
hope it works

카테고리

Help CenterFile Exchange에서 Text Files에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by