Search folders/paths with strfind: how to do excluding search?

With the code below (adapted from an old question here) I create a list of all folders and subfolders within a give path (using the command genpath and strtok). Using strfind I then select only those folders that contain a given keyword. However, strfind only allows inclusive search, but how can I make e.g. condition 3 such that it only selects the paths that DONT contain the keyword?
listOfFolderNames = {};
allfolders=genpath('D:\test\');
while true
[singleSubFolder, allfolders] = strtok(allfolders, ';');
if isempty(singleSubFolder), break; end
listOfFolderNames = [listOfFolderNames singleSubFolder];
end
indices=strfind(listOfFolderNames,'word a); % <-- filter condition 1
Index = find(not(cellfun('isempty', indices)));
foldersa=listOfFolderNames(Index);
indices2=strfind(foldersa,'word b'); % <-- filter condition 2
Index2 = find(not(cellfun('isempty', indices2)));
foldersb=foldersa(Index2);
indices3=strfind(foldersb,'word c'); % <-- filter condition 3. How to make this eclusive??
Index3 = find(not(cellfun('isempty', indices3)));
foldersfinal=foldersb(Index3);

 Réponse acceptée

Matt Fig
Matt Fig le 25 Oct 2012
You could just leave out the call to NOT in Index3.

Plus de réponses (0)

Catégories

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by