How to search for substring in cell array and get the corresponding index then?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Paul Hinze
el 7 de Dic. de 2022
Respondida: Askic V
el 7 de Dic. de 2022
Dear community,
i have a very big 3D cell array that contains either doubles or strings. I need to find the cells that contain the string EXPERIMENT with the given index of my cell array.
I already tried approaches like strcmp or strfind, but I am still stuck.
Below is a picture of a subset of the cell array.
Thank you in advance,
Paul
0 comentarios
Respuesta aceptada
Askic V
el 7 de Dic. de 2022
Please have a look at the following example:
C1 = {'Smith','Chung','Morales' [4 5 6]; ...
'Sanchez','Peterson',1:15,'Adams';...
'Adams','Johnson',[2.1 4.2],'Adams'}
C2 = cellfun(@num2str,C1,'UniformOutput',false)
C3 = strfind(C2, 'Ada')
ind = ~cellfun('isempty', C3)
I think you should be able to use it in your own application. C1 becomes your val
0 comentarios
Más respuestas (1)
GeeTwo
el 7 de Dic. de 2022
If I'm understanding correctly,
cellfun(@numel,strfind(string(val),"EXPERIMENT"))
will give you a matrix with 1's where the string is found and 0's where it isn't, whether due to it being a string without "EXPERIMENT" or not a string at all.
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!