command similar to setdiff for case insensitive

10 views (last 30 days)
Is there any command similar to setdiff for case insensitive. As setdiff is case sensitive?
for example a = {'car','book,'glass'}
b = {'CAr','book','glass'}
c = setdiff(a,b)
returns the same array a(because setdiff does not work for car insensitive)
how can i do this? because i have two cell array which is really large.
running in loop by strcmpi and finding the index will take some time.
is it possible to excute in single command as like setdiff?
Thank you

Accepted Answer

Titus Edelhofer
Titus Edelhofer on 25 Jun 2015
Hi,
if two commands is fine as well, you can do the following:
% find index of elements in a that are in b:
[flag,idx] = ismember(lower(a), lower(b));
% remove the found elements:
a(idx(flag)) = [];
Titus

More Answers (0)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!