How to limit user input to only one character?

5 visualizzazioni (ultimi 30 giorni)
Maureen O'Brien
Maureen O'Brien il 30 Nov 2016
Commentato: Image Analyst il 30 Nov 2016
I'm trying to figure out a way to limit user input to only one character and makes sure that its a letter. I figured out that to make sure that it is a capital letter I can use if all(ismember(variablename,65:90)), but I dont know how to make matlab only accept one character as a user input. Thanks, in advance, for the help.

Risposte (2)

Image Analyst
Image Analyst il 30 Nov 2016
Try casting to upper and taking only the first character
variablename = upper(variablename); % Cast to upper case.
variablename = variablename(1); % Extract first character only.
if ~isletter(variablename)
message = sprintf('You must enter a single upper case character!\nTry replacing the user and try again!');
uiwait(warndlg(message));
end
  2 Commenti
Maureen O'Brien
Maureen O'Brien il 30 Nov 2016
The more I think about it, I want to make a function that will check to make sure the input is only one character. So while I appreciate the idea, that's not exactly the way that I want to go about it.
Image Analyst
Image Analyst il 30 Nov 2016
Then use length():
if length(variablename) > 1
% User entered a response that was too long.

Accedi per commentare.


James Tursa
James Tursa il 30 Nov 2016
Maybe this FEX submission by Jos is close to what you want:

Community Treasure Hunt

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

Start Hunting!

Translated by