MATLAB: Import Text File Data With Blank Rows

import blank rowimportdata

I am having trouble importing a data set from a text file with blank rows. The data is in file "set1.txt" (attached) formatted as follows:
X data Y data
-----------------
1 5
2 7.8
3 2.1
X data2 Y data2
-----------------
1 2
2 2.4
3 8
When I use
G=importdata('set1.txt');
I have the first set of data contained in
>>G.data
ans=
1 5
2 7.8
3 2.1
Everything below the blank (empty) row is ignored. What I'd ultimately like to do is import each chunk of data into either its own n x 2 matrix, or, into an appended matrix such that all the data in set1.txt is imported into a matrix with the following format:
1 5 1 2
2 7.8 2 2.4
3 2.1 3 8
Any help would be much appreciated!

Best Answer

Run the following
content = fileread( 's1.txt' ) ;
blocks = regexp( content, '-[\n\r]+([^X]*)', 'tokens' ) ;
blocks = [blocks{:}] ;
and look at the content of blocks{1} and blocks{2}. Then see Per's answer in the thread that he links above. You can proceed the same way; I just wanted to provide you with a pattern which matches your setup, as it can be tricky to build if you are not familiar regular expressions.