MATLAB查找字符串数组中每个元素的所有索引
使用MATLAB查找字符串数组中每个元素的所有索引
在处理字符串数组时,您可能需要确定每个唯一字符串的所有出现位置。 本文将指导您如何使用MATLAB有效地完成此操作。
代码示例matlab% 定义字符串数组strArray = ['apple', 'banana', 'apple', 'orange', 'banana', 'apple'];
% 找到唯一字符串uniqueStr = unique(strArray);
% 循环遍历唯一字符串并找到索引for i = 1:length(uniqueStr) indices = find(strcmp(strArray, uniqueStr(i))); disp(['字符串: ' + uniqueStr(i) + ', 索引: ' + num2str(indices)]);end
代码解释
- 定义字符串数组: 首先,我们创建一个名为
strArray的示例字符串数组。2. 找到唯一字符串: 使用unique(strArray)函数,我们提取strArray中的唯一字符串并将其存储在uniqueStr变量中。3. 循环遍历唯一字符串: 我们使用for循环遍历每个唯一字符串。在每次迭代中,uniqueStr(i)表示当前唯一字符串。4. 查找索引: 在循环内部,我们使用以下函数找到当前唯一字符串的所有出现位置的索引: -strcmp(strArray, uniqueStr(i)): 此函数将strArray中的每个元素与当前唯一字符串进行比较。如果匹配,则返回1,否则返回0。 -find(...): 此函数返回逻辑数组中非零元素的索引,即与当前唯一字符串匹配的元素的索引。5. 显示结果: 最后,我们使用disp函数打印当前唯一字符串及其在原始字符串数组strArray中的对应索引。
输出
运行此代码将生成以下输出:
字符串: apple, 索引: 1 3 6字符串: banana, 索引: 2 5字符串: orange, 索引: 4
这表明'apple'出现在索引1、3和6,'banana'出现在索引2和5,'orange'出现在索引4。
总结
通过利用 unique、find 和 strcmp 函数,您可以轻松地在 MATLAB 中找到字符串数组中每个唯一字符串的所有索引。 这对于分析文本数据、处理字符串集合以及执行需要识别特定字符串位置的各种其他任务非常有用。
原文地址: http://www.cveoy.top/t/topic/bcG1 著作权归作者所有。请勿转载和采集!