Text file help.

7 vues (au cours des 30 derniers jours)
Jason
Jason le 28 Mar 2011
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

Réponse acceptée

Jan
Jan le 28 Mar 2011
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);

Plus de réponses (1)

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

Catégories

En savoir plus sur Data Import and Analysis dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by