Accepting Multiple String Inputs

Hey! so i'm trying to condense some code i wrote yesterday into something more compact. the first step is just running a while loop that runs a program i made (called stuff.m) if the statement is true. but i want it to be able to accept a big selection of inputs, it's not happy with my choice of "strcmp(elmnt,'fine','good'))". any ideas?
thanks!
elmnt = input('how are you? ','s');
while (strcmp(elmnt,'fine','good'))
run stuff
end

 Akzeptierte Antwort

Iain
Iain am 7 Jun. 2013

0 Stimmen

use strcmpi instead, if you want to make sure your user will type those strings as stated. put your "accepted" strings into a cell array:
Accepted = {'fine','good','great','fantastic','fan-dabby-dozy'};
while any(strcmpi(elmnt, Accepted))
run stuff
end
Look up strfind/findstr/regexp to see if theres a better way of doing what you want to.

3 Kommentare

kenny
kenny am 7 Jun. 2013
Bearbeitet: kenny am 7 Jun. 2013
it doesn't like the while line but creating the array and the strcmpi were nice catches- thanks. i'll try making this work
Iain
Iain am 7 Jun. 2013
Did you use "{" and "}" on the accepted line?
kenny
kenny am 7 Jun. 2013
oh! i'm an idiot and misspelled "accepted". i really appreciate your help, thank you.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 7 Jun. 2013

Community Treasure Hunt

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

Start Hunting!

Translated by