search for keywords in text file

4 Ansichten (letzte 30 Tage)
narges
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.

Akzeptierte Antwort

Guillaume
Guillaume am 27 Jun. 2018
  • 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.
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
Paolo
Paolo am 27 Jun. 2018
Bearbeitet: Paolo am 27 Jun. 2018
@narges You can also use regexpi instead of regexp for case insensitivity.
narges
narges am 27 Jun. 2018
much better. thanks a lot :)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

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!

Translated by