diff toolboxes/FullBNT-1.0.7/KPMtools/strmatch_substr.m @ 0:e9a9cd732c1e tip

first hg version after svn
author wolffd
date Tue, 10 Feb 2015 15:05:51 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/toolboxes/FullBNT-1.0.7/KPMtools/strmatch_substr.m	Tue Feb 10 15:05:51 2015 +0000
@@ -0,0 +1,28 @@
+function ndx = strmatch_substr(str, strs)
+% STRMATCH_SUBSTR Like strmatch, except str can match any part of strs{i}, not just prefix.
+% ndx = strmatch_substr(str, strs)
+%
+% Example:
+% i = strmatch('max', {'max','minimax','maximum'})
+%  returns i = [1; 3] since only 1 and 3 begin with max, but
+% i = strmatch_substr('max', {'max','minimax','maximum'})
+%  returns i = [1;2;3];
+%
+% If str is also a cell array, it is like calling strmatch_substr several times
+% and concatenating the results. 
+% Example:
+% 
+% i = strmatch_substr({'foo', 'dog'}, {'foo', 'hoofoo', 'dog'}) 
+%   returns i = [1;2;3]
+
+ndx = [];
+if ~iscell(str), str = {str}; end
+for j=1:length(str)
+  for i=1:length(strs)
+    %ind = strfind(strs{i}, str{j}); % not supported in 6.0
+    ind = findstr(strs{i}, str{j});
+    if ~isempty(ind)
+      ndx = [ndx; i];
+    end
+  end
+end