我有一个包含特定目录中所有文件的数组。我想删除所有以.txt扩展名结尾的文件条目。这就是我写的
function fileList = removeElements(fileArray)
for idx = 1:numel(fileArray)
if (strfind(fileArray(idx),'.txt') > 0 )
display('XX');
fileArray(idx) =[];
end
end
end
但我收到错误
??? Undefined function or method 'gt' for input arguments of type 'cell'.
Error in ==> removeElements at 6
if( strfind(fileArray(idx),'.bmp') > 0 )
有人可以帮助我吗
答案 0 :(得分:3)
您可以使用单行构造来避免函数和for循环
% strip-out all '.txt' filenames
newList = oldList(cellfun(@(c)(isempty(strfind('.txt',c))),oldList));
如果文件名不包含'.txt',则isempty()构造返回true。 oldList(...)构造返回oldList元素的单元格数组,isempty构造返回true。
答案 1 :(得分:2)
>0
是错误的。请改用~isempty(strfind(....))
。