Matlab:搜索单元格中子串的索引

时间:2015-10-30 18:45:04

标签: matlab vector split

我有一个单元格indix,其中包含有关日期和时间的信息。

 '2015-03-28 16:58:50.043'
 '2015-03-28 16:58:50.054'
 '2015-03-28 16:58:50.064'
 '2015-03-28 16:58:50.075'
 '2015-03-28 16:58:50.085'
 '2015-03-28 16:58:50.095'
 '2015-03-28 16:58:50.106'

用户应键入ie "50.064"并应成为第三列的索引。我试图实现这个:

 start = find(ismember(indix,'2015-10-28 16:58:50.064'))

这给了我正确的结果,但我目前正在寻找一种可能性,只需输入上面一行即可。

有什么办法吗?否则我的想法是用空格分割矢量..

1 个答案:

答案 0 :(得分:3)

是的,您可以使用strfind函数在单元格数组中搜索每个单元格中的部分字符串。

>> indix = {'2015-03-28 16:58:50.043', '2015-03-28 16:58:50.054', '2015-03-28 16:58:50.064'};
>> find(cellfun(@isempty, strfind(indix, '50.064')) == 0)
ans =
     3

cellfun@isempty会为未找到1的索引返回'50.064'的向量,并0返回0的向量。这就是为什么我们使用find来检查TDevice的平等性。