Find location (column) of a [1] in a cell array
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Lauren Harkness
el 19 de Oct. de 2017
Comentada: Karleigh Irwin
el 20 de Oct. de 2017
If I have a 1x3 cell array that looks something like this [] [] [1], or this [1][][], how would I get my code to print the index at which the 1 is? so for the first example, it's in column 3 and I would like to output a 3, and for the second example the 1 is in column 1/position 1 so I would like to output a 1. (Note: this will always be for a 1xN cell array with only one row)
Respuesta aceptada
Walter Roberson
el 19 de Oct. de 2017
find(~cellfun(@isempty, YourCell))
Those kinds of arrays are common when you are using strfind() or regexp().
It is common in such cases that using a logical vector does as well or better than finding the index, especially if there might be multiple matches:
mask = ~cellfun(@isempty, YourCell);
selected = YourOriginal(mask);
and not infrequently
mask = cellfun(@isempty, YourCell);
YourOriginal(mask) = [];
leaving only the matching entries.
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Characters and Strings en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!