I wonder if one can use the StringToUpper function (C library?) together with an 'or'-type command and lowercase input string to search both terms.
How to search a word both uppercase and lowercase given a specified string?
    7 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Daniel Bridges
      
 il 15 Mar 2018
  
    
    
    
    
    Risposto: Image Analyst
      
      
 il 15 Mar 2018
            MIM Maestro puts volume data inside the table variable names:
Rectum (4)(Volume: 57.77)  Bladder (5)(Volume: 139.40)
However, sometimes the name is lowercase, e.g. 'bladder'. If one wishes to pull the volume '139.40' from the CSV file, how can one search for both 'Bladder' and 'bladder' in a single query given an input string?
The following function only searches the entered string with regexp; if the input organ string is 'Bladder', doesn't regexp neglect 'bladder'?
function output = GetVolumesFromDVH(organ)
   [omitting code to loop through multiple files...]
   searchstring = [organ,'_'];
   [...]
       output(fileloop) = GetOrgVol(filepath,searchstring);
   [...]
end
function volume = GetOrgVol(filepath,searchstring)
 % get list of variable names
 opts = detectImportOptions(filepath, 'NumHeaderLines', 1);
 % we find the column containing the organ volume
 OrganSearching = regexp(opts.VariableNames,searchstring);
 for loop = 1:numel(opts.VariableNames)
     if OrganSearching{loop} == 1
         index = loop;
     end
 end
 % extract volume from said string
 volume = extractAfter(opts.VariableNames{index},'Volume_');
 volume = sscanf(strrep(volume,'_','.'),'%f');
end
1 Commento
Risposta accettata
  Star Strider
      
      
 il 15 Mar 2018
        3 Commenti
  Star Strider
      
      
 il 15 Mar 2018
				As always, my pleasure!
Thanks for the info on R2018a. I didn’t know it was available. (It wasn’t when I checked a earlier this week.) I’ll follow your lead.
Più risposte (1)
  Image Analyst
      
      
 il 15 Mar 2018
        Just cast the string to lower and use a lower case template:
if contains(lower(yourString), 'bladder')
    % yourString contains bladder somewhere in it
end
or you might use strcmpi() if you're sure there is no other characters in your string other than the template you're searching for:
if strcmpi(yourString, 'bladder')
0 Commenti
Vedere anche
Categorie
				Scopri di più su Characters and Strings in Help Center e File Exchange
			
	Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


