【发布时间】:2019-03-27 10:08:33
【问题描述】:
我正在尝试从 Excel 电子表格中获取数据,并仅从与字符串匹配的单元格中获取信息。例如。如果单元格 A10 包含单词“加拿大”,则应返回该单元格。
我尝试使用 strcmp(https://www.mathworks.com/help/matlab/ref/strcmp.html) 检查参数 1 中的字符串是否包含在包含许多字符串的元胞数组中,即第二个参数
[num,txt,raw] = xlsread('\\Client\C$\Users\Fish\Desktop\dataset\dataset.csv');
mytable = cell(raw);
for i = 1:54841
array_index = i;
string_index = mytable(i,2);
string_eastern = {'Canada', 'Ontario'};
if strcmp(string_index,string_eastern);
fprintf('%d\n',array_index)
end
end
在上面的例子中,如果我的 string_eastern 只包含一个元素,比如“加拿大”,它将返回“加拿大”的每个实例的索引值。如果我添加更多元素,我希望它会为 string_index 与 string_eastern 中包含的字符串匹配的每个实例返回索引值。但是,如果我添加更多元素,我根本不会得到任何结果。
我非常想检查我的 string_index 和 string_eastern,如果值匹配,那么我希望它返回那个单元格值。这适用于 string_eastern 只有 1 个元素但不能使用超过 1 个元素的情况。
【问题讨论】:
-
您无需运行循环并检查每个单元格。你有一些功能可以在一个瞬间得到你想要的。阅读有关该功能的内容。
标签: matlab