search for keywords in text file

4 visualizaciones (últimos 30 días)
narges
narges el 27 de Jun. de 2018
Comentada: narges el 27 de Jun. de 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.

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by