Borrar filtros
Borrar filtros

How can I use strcmp (or something else) to compare to multiple strings at once?

65 visualizaciones (últimos 30 días)
I want to compare all the strings in a cell (messages) to a list of string and return true if it matches any of them.
It should match the function of:
trialSplitPoints = find(strcmp('TRIALID 1',messages));
but for 'TRIALID 1' through 'TRIALID 8'.

Respuesta aceptada

Titus Edelhofer
Titus Edelhofer el 18 de Sept. de 2015
Hi,
apart from Walter's method there are two additional:
  1. Use regexp (unfortunately here I can't help, I've never really understood regular expressions)
  2. You can do partial comparison:
trialSplitPoints = find(strncmp(messages, 'TRIALID', length('TRIALID')));
Note, it's strncmp, not strcmp.
Titus

Más respuestas (1)

Walter Roberson
Walter Roberson el 18 de Sept. de 2015
tf = ismember(messages, {'TRIALID 1', 'TRIALID 2', 'TRIALID 3', ... 'TRIALID 8'})
tf will be an array the same shape as "messages", indicating for each cell array element whether it matches any of the listed items.

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