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

関数lowerまたはupperを使用します。例えば:

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 に答える