Filter löschen
Filter löschen

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

2 Ansichten (letzte 30 Tage)
Felix
Felix am 25 Okt. 2012
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);

Akzeptierte Antwort

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

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by