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

9 vues (au cours des 30 derniers jours)
Loriann Chevalier
Loriann Chevalier le 7 Avr 2022
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 :)

Réponse acceptée

Stephen23
Stephen23 le 7 Avr 2022
  4 commentaires
Stephen23
Stephen23 le 7 Avr 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 le 7 Avr 2022
Alright I see, thanks for your help ! :)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Structures dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by