【发布时间】:2019-09-02 08:41:59
【问题描述】:
我有一个函数,它接受varargin 和不同类型的灵活数量的输入。我想检查变量是否存在某个字符串/子字符串,例如
regexpi(varargin,'test');
这适用于varargin={'a','b'},但是如果有其他数据类型,它会失败。我怎样才能轻松(最少的代码行)获得一个逻辑矩阵来测试test 的存在?这是我想出的令人讨厌的令人费解的事情:
varargin={'a',1,'test',{2}};
logi=num2cell(zeros(size(varargin))); %logical vector 'is string present or not';
logi(cellfun(@isstr,varargin))=regexp(varargin(cellfun(@isstr,varargin)),'test');
%outputs a cell array where numbers > 0 represent 'string found'
【问题讨论】:
标签: matlab validation input