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일

1 개 추천

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일

0 개 추천

read file line by line with tab separator; check for @ character; ignore or delete all strings that do not start with @.
hope it works

카테고리

도움말 센터File Exchange에서 Data Import and Analysis에 대해 자세히 알아보기

태그

질문:

2011년 3월 28일

Community Treasure Hunt

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

Start Hunting!

Translated by