- You're overwriting your matchstring variable in the second regexp call, losing the result of the first call.
- your matchstr(fileext, expr1) is complete nonsense. It is trying to index a scalar logical with two char arrays.
search for keywords in text file
    2 views (last 30 days)
  
       Show older comments
    
hi there I want to do search in TEST.txt, for 'Area' and 'class' keywords. if both exist display 'yes'. could you plz help me about that?
my code:
filetext = fileread('TEST.txt');
expr1 = '[^\n]*[Aa]rea[^\n]*';
matchstr = regexp(filetext,expr1,'match');
expr2 = '[^\n]*[Cc]lass[^\n]*';
matchstr = regexp(filetext,expr2,'match');
if matchstr(filetext,expr1)&& matchstr(filetext,expr2)
 disp (yes)
end
error: Index in position 1 exceeds array bounds.
0 Comments
Accepted Answer
  Guillaume
      
      
 on 27 Jun 2018
        The correct expression would be:
if regexp(filetext,expr1,'match') & regexp(filetext,expr2,'match')
    disp('yes');
end
It is puzzling how you could come up with the regular expressions but then write complete nonsense code.
5 Comments
More Answers (0)
See Also
Categories
				Find more on Characters and Strings in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
