How to search a word both uppercase and lowercase given a specified string?

13 次查看(过去 30 天)
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

采纳的回答

Star Strider
Star Strider 2018-3-15
The regexpi (link) function is the case-insensitive version of regexp.
  3 个评论
Star Strider
Star Strider 2018-3-15
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.
Daniel Bridges
Daniel Bridges 2018-3-15
R2018a executed it in 6 s rather than 25 s, and clear and trying again it did so in 1 s. Hooray!

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2018-3-15
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')

类别

Help CenterFile Exchange 中查找有关 File Operations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by