Azzera filtri
Azzera filtri

Comparing Couple of Cell Array String

1 visualizzazione (ultimi 30 giorni)
Hi, i want to compare a couple of cell array string. In example :
dataset = {
'i', 'love';
'love', 'you';
'you', 'so';
'so', 'much'
}
if i have below data test :
data_test = {'love', 'you'}
then i want to get below result (according dataset) :
'love' 'you'
Else if my data is like below :
data_test = {'love', 'much'}
Then i want to get below result (according dataset) :
'love' 'you'
So, the process is getting first word. Then getting squence of words in dataset that match with first word...
Is that possible?
Thanks in advance.

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 30 Giu 2016
data = {
'i', 'love';
'love', 'you';
'you', 'so';
'so', 'much'
};
data_test = {'love', 'much'};
out = data(ismember(data(:,1),data_test(1)),:);
  1 Commento
Angga Lisdiyanto
Angga Lisdiyanto il 30 Giu 2016
Thanks, this is what i am looking for.
The result is correct as according dataset words' squence.

Accedi per commentare.

Più risposte (2)

KSSV
KSSV il 30 Giu 2016

KSSV
KSSV il 30 Giu 2016
clc; clear all
dataset = {
'i', 'love';
'love', 'you';
'you', 'so';
'so', 'much'
};
data_test = {'love', 'you'} ;
count = 0 ;
for i = 1:length(dataset)
for j = 1:length(data_test)
k = strcmp(dataset{i},data_test{j}) ;
if k
count = count+1 ;
iwant{count} = dataset{i};
end
end
end
iwant
  1 Commento
Angga Lisdiyanto
Angga Lisdiyanto il 30 Giu 2016
Modificato: Angga Lisdiyanto il 30 Giu 2016
Hi, thanks for answering.
I have a problem, if my data_tes is :
data_test = {'love', 'so'}
then i am still got :
'love' 'so'
How to getting result 'love' 'you' ?

Accedi per commentare.

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by