Find common words in 2 strings

18 views (last 30 days)
i have 2 string
str1 = ('rabbit is eating grass near a tree');
str2 = ('rabbit is sleeping under tree');
In these 2 strings 'rabbit' 'is' 'tree' is common.... How can i find the common words present in 2 strings....
i want result
str = 'rabbit' 'is' 'tree'

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 3 May 2016
Edited: Azzi Abdelmalek on 3 May 2016
str1 = ('rabbit is eating grass near a tree');
str2 = ('rabbit is sleeping under tree');
str=intersect(strsplit(str1),strsplit(str2))
OR, to maintain the order
str=intersect(strsplit(str1),strsplit(str2),'stable')

More Answers (1)

Stephen23
Stephen23 on 3 May 2016
Edited: Stephen23 on 3 May 2016
This works in MATLAB versions prior to R2013a:
>> str1 = ('rabbit is eating grass near a tree');
>> str2 = ('rabbit is sleeping under tree');
>> w1 = regexp(str1,'\S+','match');
>> w2 = regexp(str2,'\S+','match');
>> intersect(w1,w2)
ans =
is
rabbit
tree

Tags

Community Treasure Hunt

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

Start Hunting!