Extract n lines from a text file

Hi Everybody, i am struggling with the following problem. I need to extract, from a text file (actually an xml file, anyway) the first n lines. I know there are some functions (as fscanf) in which the user can specify the number of characters to extract, but in my case this number is variable, therefore i cannot specify a priori where it is.
An alternative could be: finding the "ending character" by identifying some key word, and then using this ending character in fscanf. But i did not find a way to identify pieces of text within a longer text.
Does anyone know a possible solution? Luciano

2 commentaires

Oleg Komarov
Oleg Komarov le 1 Juin 2012
Is "n" fixed?
Thomas
Thomas le 1 Juin 2012
Can you give an example file where you want to remove the first n lines..

Connectez-vous pour commenter.

Réponses (1)

per isakson
per isakson le 1 Juin 2012

0 votes

Something like this might work
fid = fopen( 'cssm.txt', 'r' );
str = permute( fread( fid, '*char' ), [2,1] );
sts = fclose( fid );
cac = regexp( str, 'your_key_word', 'split' );
buf = strtrim(cac{2});
ca = textscan( buf, frmt );
or replace regexp by strfind

Catégories

En savoir plus sur Large Files and Big Data dans Centre d'aide et File Exchange

Produits

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by