How to read all lines in txt file satisfying some condition
    1 次查看(过去 30 天)
  
       显示 更早的评论
    
Let's assume we have the following format in the file: 1 str1 0 str2 1 str3 ...
that is in each line we have: the first character is number, either 0 or 1, next a whitespace (space or tab) and next a string.
I would like to get all strings that have 1 as first characted in the line. How to do this efficiently (and elegantly, preferably with one-liner). I know I can use fgets and just iterate over the lines.
0 个评论
回答(1 个)
  Cedric
      
      
 2013-10-22
        
      编辑:Cedric
      
      
 2013-10-22
  
      The following is assuming that you have one pair number/string per line in the file.
 match = regexp( fileread('myFile.txt'), '(?<=1 )[^\r\n]+', 'match' ) ;
but one-liner doesn't mean efficient or elegant. You would have to compare this regexp-based approach to approaches based on FGETL, FSCANF, or TEXTSCAN ..
0 个评论
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

