Get the index for the search of multiple strings within an array of strings

14 visualizzazioni (ultimi 30 giorni)
Hi,
I have a (1x128) cell array like this: "list" = 'S01R' 'S02R' 'S03R'... etc And another short (1x16) cell array with the same type of characters, eg, "bad" = 'S01R' 'S02R' 'S03R'... etc
I want to know the index of my "list" where I may found the items listed in "bad", I'v tried regexp but this function only allow me to find single strings in my list, Also, I don't know how to get the index in a orderer list instead of a cell array like this c=[] [] [] [1] [] [] [] [] []
Thanks for any idea,
JL
  1 Commento
Jan
Jan il 12 Lug 2012
Please post examples in valid Matlab code, such that they can be used directly in an answer by copy&paste.

Accedi per commentare.

Risposta accettata

Jan
Jan il 12 Lug 2012
See FEX: CStrAinBP: Reply the indices of common strings.

Più risposte (3)

Ryan
Ryan il 12 Lug 2012
Modificato: Ryan il 12 Lug 2012
Is this what you were looking for?
list = {'bad','worse','good','okay'};
badlist = {'bad','worse'};
idx = ismember(list,badlist);
This returns:
idx = 1 1 0 0;
  1 Commento
Dhruv Ghulati
Dhruv Ghulati il 21 Dic 2015
This works for exact text search, but not for if a string contains a particular set of characters. I find strfind() a better approach if you have that particular use case.

Accedi per commentare.


F.
F. il 12 Lug 2012
did you try "intersect" ???
[C,ia,ib] = intersect(A,B) example

JoseLuis
JoseLuis il 12 Lug 2012
Thanks to all for your answers, I found something that works, http://www.mathworks.com/matlabcentral/newsreader/view_thread/310652#846320
CStrAinBP it does make it too,
JL

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by