If statement comparing strings

54 ビュー (過去 30 日間)
Sam Falzone
Sam Falzone 2011 年 4 月 5 日
コメント済み: Walter Roberson 2017 年 11 月 28 日
I want to do this:
if 'Word1' == 'Word2' 'do something' end
'Word1' and 'Word2' aren't necessarily going to be the same amount of characters.
Everything I try ends in "eq error".
How do I do this?

回答 (1 件)

Walter Roberson
Walter Roberson 2011 年 4 月 5 日
編集済み: Walter Roberson 2017 年 11 月 28 日
strcmp('Word1', 'Word2')
OR
all(size('Word1') == size('Word2')) && all('Word1' == 'Word2')
OR
isequal('Word1', 'Word2')
  2 件のコメント
Zhuoying Lin
Zhuoying Lin 2017 年 11 月 28 日
編集済み: Walter Roberson 2017 年 11 月 28 日
Hi I have a similar question. I type:
if isequal(x,'a') && isequal(x,'p') && isequal(x,'T')==0
fprintf('ERROR:You entered incorrect choice.')
but it doesn't work
Walter Roberson
Walter Roberson 2017 年 11 月 28 日
if ~ismember(x, {'a', 'p', 'T'))
printf('ERROR:You entered incorrect choice.');
end
or
if ~(isequal(x, 'a') || isequal(x, 'p') || isequal(x, 'T'))
fprintf('ERROR:You entered incorrect choice.');
end
or
if ~(strcmp(x, 'a') || strcmp(x, 'p') || strcmp(x, 'T'))
fprintf('ERROR:You entered incorrect choice.');
end
or
if ~strcmp(x, 'a') && ~strcmp(x, 'p') && ~strcmp(x, 'T')
fprintf('ERROR:You entered incorrect choice.');
end
or
if ~any([strcmp(x, 'a'), strcmp(x, 'p'), strcmp(x, 'T')])
fprintf('ERROR:You entered incorrect choice.');
end

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by