How to limit user input to only one character?

5 次查看(过去 30 天)
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.

回答(2 个)

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

请先登录,再进行评论。


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

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by