Use strcmp() based on part of the row name in structure
8 次查看(过去 30 天)
显示 更早的评论
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 :)
0 个评论
采纳的回答
Stephen23
2022-4-7
4 个评论
Stephen23
2022-4-7
@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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!