Filter löschen
Filter löschen

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

65 Ansichten (letzte 30 Tage)
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'.

Akzeptierte Antwort

Titus Edelhofer
Titus Edelhofer am 18 Sep. 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

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 18 Sep. 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.

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