在MATLAB中查找包含我的字符串的单元格的索引
MATLAB中的单元格阵列是一种以单元格形式存储数据的阵列。使用这些单元格数组的好处是,它们可以将不同类型的数据仅作为单元格存储在单元格数组中。在这篇文章中,我们将看到如何在一个单元格数组中找到一个给定的字符串。
首先,我们将检查给定的单元格数组是否包含所有字符串。这可以通过以下函数来完成。
iscellstr(<cell array>)
如果它包含所有的字符串,它将返回1,否则,返回0。
示例 1:
输出:
可以看出,上述数组的所有元素都包含所有的字符串,因此,我们将继续前进。
现在,我们可以通过两种方式找到一个字符串。
1.弦细胞的一部分。
2.完全匹配一个字符串单元。
我们将看到这两种情况以及如何做到这一点。
寻找作为单元格一部分的我的字符串的索引。
为了找到我的字符串作为模式匹配/字符串的一部分,我们可以使用包含()函数,然后,可以传递给find()函数以获得索引。
语法:
indices = find(contain(array,string))
.
示例 2:
输出:
可以验证的是,字符串’gee’出现在单元格1、3和4中。
寻找我的字符串作为一个精确单元格的索引。
为了找到完全匹配的字符串,我们将使用strcmp()函数,它返回一个完全匹配的逻辑数组。然后,通过将其传递给find()函数,我们将得到我的字符串的精确匹配的索引。
请看下面的代码来理解。
示例 3:
输出:
我们可以看到,它只与 “geek “字符串完全匹配,而不是与 “geek “匹配。