用matlab查找txt文档中的关键字,并把关键字后面的数据存到起来用matlab处理

用matlab查找txt文档中的关键字,并把关键字后面的数据存到起来用matlab处理

我测了一组数据存到txt文件中,是个WIFI信号强度文档,里面有我们需要得到的数据,有没用的数据,想用matlab查找关键字(SSID),把关键字后面的数字存起来用作后期处理分析,如下图,把ky后面的信号强度数据(那个负数)弄出来。求大神指点应该怎么办,或给程序,谢谢!

用matlab查找txt文档中的关键字,并把关键字后面的数据存到起来用matlab处理

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
fn =  'my_data.txt' ;
fid = fopen(fn, 'r' );
R = [];
while  ~feof(fid)
     tl = fgetl(fid);
     id = findstr(tl, 'SSID' );
     while  ~feof(fid)
         tl = fgetl(fid);
         id = findstr(tl, 'ky' );
         if  ~isempty(id)
             dt = tl(id+ 3 :id+ 10 );
             dt = strtok(dt);
             R = [R; str2num(dt)];
         end;
     end;
end;
disp(R);
追问
非常感谢您!我刚才试了试,除了有一个地方都完美,就是我txt里有100个数据,但是弄出来99个,第一个没有弄出来是怎么回事呢?希望您能再看看
回答
1
2
3
4
5
6
7
8
9
10
11
12
13
fn =  'my_data.txt' ;
fid = fopen(fn, 'r' );
R = [];
while  ~feof(fid)
     tl = fgetl(fid);
     id = findstr(tl, 'ky' );
     if  ~isempty(id)
         dt = tl(id+ 3 :id+ 10 );
         dt = strtok(dt);
         R = [R; str2num(dt)];     
     end;
end;
disp(R);

你可能感兴趣的:(matlab)