search for keywords in text file

2 vues (au cours des 30 derniers jours)
narges
narges le 27 Juin 2018
Commenté : narges le 27 Juin 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.

Réponse acceptée

Guillaume
Guillaume le 27 Juin 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 commentaires
Paolo
Paolo le 27 Juin 2018
Modifié(e) : Paolo le 27 Juin 2018
@narges You can also use regexpi instead of regexp for case insensitivity.
narges
narges le 27 Juin 2018
much better. thanks a lot :)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by