用Matlab查找字符串中包含哪个子字符串

时间:2020-08-03 17:02:24

标签: string matlab find

我有一个称为“ condition”的char变量。该变量的内容类似于: “ 21331-54-task-5da1-6256853-35-1-3.mp4”。

我需要确定名称中包含以下字符之一:25、35、45。 我尝试了contains(),但这只告诉我其中一个条件是否包含。它没有告诉我其中包含哪个。

我也尝试过:

strToFind = {'25','35','45'};

pos = strfind(strToFind,条件)

但是它给了我以下结果:

pos =

1×3细胞阵列

{0×0 double}    {0×0 double}    {0×0 double}

关于如何解决此问题的任何建议? 预先谢谢你

1 个答案:

答案 0 :(得分:2)

~cellfun(@isempty, regexp(condition, strToFind, 'once'))

将给出与strToFind相同大小的逻辑数组,告诉strToFind中的每个字符串是否存在于condition中。

您也可以使用

cellfun(@(x) contains(condition, x), strToFind)