Does this character vector match any of the following character vectors?

4 次查看(过去 30 天)
How can I check to see if a particular character vector or string matches anything in a list of other character vectors/strings? For example, if the current month is June, July, or August, I want to call the current season Summer; if not, I want to call the current season notSummer. I tried this:
if strcmp(currentMonth,'June'||'July'||'August')
currentSeason = 'Summer'
else
currentSeason = 'NotSummer'
end
But it gives me the error message "Operands to the || and && operators must be convertible to logical scalar values."
I also tried it with just commas instead of ||, but it said I had too many input arguments for strcmp().
How can I compare strings in this way?
Thank you.

采纳的回答

James Tursa
James Tursa 2020-1-17
编辑:James Tursa 2020-1-17
You could use cell arrays. E.g., use
ismember(currentMonth,{'June','July','August'})
instead of
strcmp(currentMonth,'June'||'July'||'August')
Or if you wanted a case insensitive check
any(strcmpi(currentMonth,{'June','July','August'}))

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by