我有一个大型结构数组
Month =
1x10131 struct array with fields:
name
date
bytes
isdir
datenum
我需要使用数组(在名称字段中)过滤多个行。
我以前用过
result = Month([string here])
但我只是注意到它根本没有做我想要的东西,它似乎在某种程度上过滤了,但不是我想要的。
我有上面的struct数组,以及char数组中的4个字符串(name)。我需要输出四个匹配的名称,以及原始数组中的相关日期,字节,isdir和datenum。
答案 0 :(得分:4)
这是一个小代码段,它将SelectedMonth
struct
个name
字段与{x = 1}}中的一个条目匹配:
SelectedName
从这里开始,您可以从struct array SelectedName = {'n1', 'n2', 'n3', 'n4'}; % change to your values
SelectedIndex = cellfun(@(x) any(strcmp(x, SelectedName)), {Month.name});
SelectedMonth = Month(SelectedIndex);
中提取所需的任何信息。请注意,字符串比较区分大小写,因此请注意名称的大小写。