Finding strings in a cell array that start with a specific substring
25 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Matt C
el 28 de Oct. de 2020
Comentada: Matt C
el 28 de Oct. de 2020
Hello, I'm looking for a specific implementation using the available functions in MATLAB 2015b.
If I have the following cell array
A = {'test' 'hello' 'world' 'st1' 'st2' 'st99'}
I would like to return a cell array B containing all elements that are of the form 'stXXX', where XXX is any number.
In the above example, I would like B to return as:
B = {'st1' 'st2' 'st99'}
In previous implementations, I have been able to get away with the following line:
B = A(not(cellfun('isempty',strfind(A,'st'))
but unfortunately in example A, the element 'test' is also triggering because it contains the 'st' substring. I'm just looking for code that doesn't have to be implented via a for loop. Thanks in advance.
0 comentarios
Respuesta aceptada
J. Alex Lee
el 28 de Oct. de 2020
Try this
A = {'test' 'hello' 'world' 'st1' 'st2' 'st99'}
matches = regexp(A,'^st\d+$','match')
B = [matches{:}]
2 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Cell Arrays 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!