Equalities between strings and strings in cell arrays

1 次查看(过去 30 天)
I am trying to create a piece of code that checks the string value in a cell array and then assigns a numerical value to another cell based on the identity of that string.
However, no matter what equality function I try to use, I always get an error back or an inequality when both values are obviously the same. Can someone explain what is going on to me?
Here's the hunk of code that I am having trouble with. If the cell array 'C' and string 'C' are the same then I should get an output of 1.
>> tbl{row,2}(1)
ans =
'C'
>> isequal(tbl{row,2}(1),'C') == 1
ans =
0

回答(2 个)

Andrei Bobrov
Andrei Bobrov 2012-11-21
编辑:Andrei Bobrov 2012-11-21
try
isequal(tbl{row,2}{1},'C')
or
isequal(tbl{row,2}(1),{'C'})

Jan
Jan 2012-11-21
编辑:Jan 2012-11-21
This checks the fist character:
strncmp(tbl(row, 2), 'C', 1)
This compares the full string:
strcmp(tbl(row, 2), 'C')
Note, that row need not be scalar in both cases.

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by