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

 Respuesta aceptada

Iain
Iain el 7 de Jun. de 2013
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 comentarios

kenny
kenny el 7 de Jun. de 2013
Editada: kenny el 7 de Jun. de 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 el 7 de Jun. de 2013
Did you use "{" and "}" on the accepted line?
kenny
kenny el 7 de Jun. de 2013
oh! i'm an idiot and misspelled "accepted". i really appreciate your help, thank you.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Characters and Strings en Centro de ayuda y File Exchange.

Preguntada:

el 7 de Jun. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by