How to compare two string are equal or not
4 次查看(过去 30 天)
显示 更早的评论
Hi,
I have two string (names array in cell matrix), and want to compare ith & i-1th name is equal or not.
Names={'Mhajj56_Too';'YHJA_90_Kty';'Mahjkl_uiT00';'Mahjkl_uiT00';'aha';'Mhajj56_Too';'Mhajj56_Too'}
out=[different
different
same
different
different
same]
Rule: if ith name is same as i-1th, then we say same, else different.
Many thanks in advance,
0 个评论
采纳的回答
Image Analyst
2018-9-28
A one-liner way is:
outLogical = cellfun(@isequal, Names(1:end-1), Names(2:end))
(Note that what you put is not valid syntax unless same and different are variables, not strings.)
0 个评论
更多回答(1 个)
Image Analyst
2018-9-28
Well the obvious, simplest way is with isequal() in a for loop:
Names={'Mhajj56_Too';'YHJA_90_Kty';'Mahjkl_uiT00';'Mahjkl_uiT00';'aha';'Mhajj56_Too';'Mhajj56_Too'}'
numberOfCells = length(Names)
outLogical = false(1, numberOfCells-1);
for k = 2 : numberOfCells
if isequal(Names{k}, Names{k-1})
outCellArray{k-1} = 'Same';
outLogical(k-1) = true;
else
outCellArray{k-1} = 'Different';
end
end
% Show in command window:
celldisp(outCellArray);
outLogical
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Database Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!