How to compare two string are equal or not

2 次查看(过去 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,

采纳的回答

Image Analyst
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.)

更多回答(1 个)

Image Analyst
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

类别

Help CenterFile Exchange 中查找有关 Multichannel Audio Input and Output 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by