using string in if statement
조회 수: 762 (최근 30일)
이전 댓글 표시
i want to use string in my if boolean expression....something like if(name =='daniel') disp...... All i have been getting are errors...is it possible and if yes how? Thanks
댓글 수: 0
답변 (3개)
Walter Roberson
2011년 7월 18일
If you attempt to compare two strings using == and the strings are not the same length, then you will get errors. == can be used for strings only if they are the same length.
Use strcmp() or isequal() or strcmpi().
댓글 수: 2
N/A
2019년 3월 26일
What if I'm using an if statement where I want the if condition to be met if the string being compared has only a part of the actual string
How do I make that work?
example
button = buttons
if button ==contains(str, "butt")
run()
else
stop()
end
Steven Lord
2019년 3월 26일
Working with a string array is different than working with a char array. What Walter wrote is true for char arrays (which was the main data type for storing text data in 2011, as the string class didn't exist yet.)
button = "button";
str = 'abcde';
if contains(str, button)
disp("[" + str + "] contains the string [" + button + "]")
else
disp("[" + str + "] doesn't contain the string [" + button + "]")
end
Now change the contents of the str variable and perform the same comparison.
str = 'space button';
if contains(str, button)
disp("[" + str + "] contains the string [" + button + "]")
else
disp("[" + str + "] doesn't contain the string [" + button + "]")
end
The contains function can accept two char vectors, two string arrays, two cell arrays containing char vectors, or a combination of those three types.
Fangjun Jiang
2011년 7월 18일
The following code should work. You can also use isequal(MyName,'Daniel'), strcmp(), strcmpi() etc.
MyName='Daniel';
if MyName=='Daniel'
disp('correct name');
else
disp('wrong name')
end
댓글 수: 2
Jan
2011년 7월 18일
But this will *not* work: "MyName = 'Daniela'; if MyName == 'Daniel', ...", because the arrays compared by == must have the same size or one is a scalar.
Fangjun Jiang
2011년 7월 18일
Now I understand why the OP had errors. I personally never use == to compare strings. The error message should be pretty clear though, right?
참고 항목
카테고리
Help Center 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!