我有30个这样的文件:
1-1.jpg,1-2.jpg,…,1-10.jpg2-1.png,2-2.png,…,2-10.png3-1.gif,3-2.gif,…,3-10.gif现在我想用这种方式使用一个开关盒:当我加载1-1.jpg到1-10 ….
您不需要for循环或switch语句。每次加载和处理文件时都可以这样做(使用 strtok 和 str2double ):
strtok
str2double
intString = strtok(Filename, '.-'); % Get leading integers of file name string Matrix(end) = str2double(intString); % Convert string to integer and store in matrix
如果您不想使用前导整数作为要放入的标识标签 Matrix ,但是想要使用文件扩展名,你可以使用这些功能 fileparts 和 ismember 像这样:
Matrix
fileparts
ismember
extList = {'.jpg'; '.png'; '.gif'}; % Create a list of valid extensions [~, ~, ext] = fileparts(Filename); % Get the file extension [~, index] = ismember(ext, extList); % Find its index in the list Matrix(end) = index;
并且每种文件类型的识别标签将是其中的位置 extList 。
extList