How can I compare the multiple strings?
15 views (last 30 days)
Show older comments
BHARAT CHARAN GOUD MARUPALLI
on 10 Jan 2021
Commented: BHARAT CHARAN GOUD MARUPALLI
on 12 Jan 2021
I am unable to compare the multiple strings at once to produce the required output. I have tried the following code. Here I would like to compare the input string and print the result from statements.
function result = select(sports)
sports = {'hockey','tennis'};_
if strcmpi(sports,'hockey');x=1;end
if strcmpi(sports,'cricket');x=2;end
if strcmpi(sports,'football');x=3;end
if strcmpi(sports,'tennis');x=4;end
result
end
2 Comments
Rik
on 10 Jan 2021
What is your actual goal? I presume sports={'hockey','tennis'} is actually meant to be the input to your function (instead of overwriting it). If so, what do you want the output to be?
Accepted Answer
Image Analyst
on 10 Jan 2021
Is this what you want (using ismember to find the index of the sport in the list of all the sports?
% Test script:
fprintf('Beginning to run %s.m ...\n', mfilename);
allSports = {'hockey','tennis', 'cricket', 'football', 'racing', 'golf', 'Cody'};
thisSport = 'Football';
result = select(thisSport, allSports)
fprintf('%s is sport #%d.\n', thisSport, result);
fprintf('Done running %s.m.\n', mfilename);
%======================================================
function result = select(thisSport, allSports)
thisSport = lower(thisSport);
allSports = lower(allSports);
[~, result] = ismember(thisSport, allSports)
end
5 Comments
Image Analyst
on 11 Jan 2021
Please attach the Sports table in a .mat file if you still need help
save('answers.mat', 'Sports');
By the way, select is a built-in function so you might want to call it something else, like SelectSport() instead.
More Answers (0)
See Also
Categories
Find more on Characters and Strings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!