- 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
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
narges
am 27 Jun. 2018
Kommentiert: narges
am 27 Jun. 2018
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 Kommentare
Akzeptierte Antwort
Guillaume
am 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Characters and Strings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!