How to limit user input to only one character?

5 Ansichten (letzte 30 Tage)
Maureen O'Brien
Maureen O'Brien am 30 Nov. 2016
Kommentiert: Image Analyst am 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.

Antworten (2)

Image Analyst
Image Analyst am 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 Kommentare
Maureen O'Brien
Maureen O'Brien am 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 am 30 Nov. 2016
Then use length():
if length(variablename) > 1
% User entered a response that was too long.

Melden Sie sich an, um zu kommentieren.


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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by