1

我想让 matlab 接受用户输入,但同时接受字母的两种情况。例如我有:

function nothing = checkGC(gcfile)
if exist(gcfile)
    reply = input('file exists, would you like to overwrite? [Y/N]: ', 's');
    if (reply == [Yy])
        display('You have chosen to overwrite!')
    else
        $ Do nothing
    end
end

if 语句显然不起作用,但基本上我想接受小写或大写的 Y。最好的方法是什么?

4

3 回答 3

5

使用函数lowerupper。例如:

if (lower(reply) == 'y')

或者,strcmpi将不区分大小写地比较字符串。例如:

if (strcmpi(reply, 'y'))
于 2012-04-04T22:36:19.463 回答
2

只需在您的情况下使用基本运算符即可。在此处查看文档:http: //www.mathworks.se/help/techdoc/ref/logicaloperatorselementwise.html

于 2012-04-04T22:36:18.007 回答
1

http://www.mathworks.de/help/techdoc/ref/regexpi.html

if (regexpi(reply,'^y(es)?$'))
        display('You have chosen to overwrite!')
于 2012-04-04T23:23:34.897 回答