Найдите, какая подстрока содержится в строке с помощью Matlab - PullRequest
0 голосов
/ 03 августа 2020

У меня есть символьная переменная "условие". Содержимое этой переменной выглядит примерно так: «21331-54-task-5da1-6256853-35-1-3.mp4».

Мне нужно определить, какой из следующих символов содержится в имени : 25, 35, 45. Я пробовал использовать contains (), но это только говорит мне, содержится ли один из них в условии или нет. Он не сообщает мне, какой из них содержится.

Я также пробовал:

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

pos = strfind (strToFind, condition)

, но это дает мне следующий результат:

pos =

1 × 3 массива ячеек

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

Есть предложения, как решить эту проблему? Заранее благодарю

1 Ответ

2 голосов
/ 03 августа 2020
~cellfun(@isempty, regexp(condition, strToFind, 'once'))

даст логический массив того же размера, что и strToFind, сообщая, присутствует ли каждая из строк в strToFind в condition.

Вы также можете использовать

cellfun(@(x) contains(condition, x), strToFind)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...