If statement comparing strings
54 ビュー (過去 30 日間)
古いコメントを表示
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?
0 件のコメント
回答 (1 件)
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
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
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 Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!