Use strcmp() based on part of the row name in structure

2 visualizaciones (últimos 30 días)
Hi everyone,
I have a structure (DATA) with 3 fields (name, folder, data (tables)). There are many rows with names (field name) in a pattern as follows :
'London_FirstVariable_Water.txt'
'London_SecondVariable_Fire.txt'
'London_ThirdVariable_Air.txt'
'London_FourthVariable_Earth.txt'
'Paris_FirstVariable_Water.txt'
'Paris_FourthVariable_Fire.txt'
'Paris_FifthVariable_Air.txt'
'Paris_ThirdVariable_Earth.txt'
etc.
I want to make a new structure that keeps only the rows with 'XXX_XXX_Fire.txt', no matter what is before.
I have tried this :
FIRE = DATA(strcmp({DATA.name}, '%s_%s_Fire.txt'))
which obviously doesn't work.
However, it works like this :
FIRE = DATA(strcmp({DATA.name}, 'London_SecondVariable_Fire.txt'))
but this way I only get this one row, and I would rather not have to write each name in separate lines but something to get all the rows with a name containing Fire.txt
Any idea ?
Thanks for your help :)

Respuesta aceptada

Stephen23
Stephen23 el 7 de Abr. de 2022
  4 comentarios
Stephen23
Stephen23 el 7 de Abr. de 2022
@Loriann Chevalier: you then use that logical vector as a logical index to remove the parts of the array/s that you do not want. Much like you showed in your question.
Loriann Chevalier
Loriann Chevalier el 7 de Abr. de 2022
Alright I see, thanks for your help ! :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Structures 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!

Translated by