If statement comparing strings
17 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponses (1)
Walter Roberson
le 5 Avr 2011
Modifié(e) : Walter Roberson
le 28 Nov 2017
strcmp('Word1', 'Word2')
OR
all(size('Word1') == size('Word2')) && all('Word1' == 'Word2')
OR
isequal('Word1', 'Word2')
2 commentaires
Zhuoying Lin
le 28 Nov 2017
Modifié(e) : Walter Roberson
le 28 Nov 2017
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
le 28 Nov 2017
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
Voir également
Catégories
En savoir plus sur String Parsing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!