MATLAB: Matching strings in a matrix of m x n and then sorting

facebookmatchingNetworksorting

Hey all,
this is my first post at the forum. kindly ignore the mistakes if any.
i have been finding a way to match few keywords or strings in a matrix and if that keyword is matched the whole row , i.e all the field values in that row of matrix will be separated out to a new matrix. and all those similar rows which satisfy the keywords wil make a new matrix. kidnly note that strings can be more than one .
for e.g
i have to separate out all the packets with the term 'facebook' in them and i have the matrix like
no field1 field2
1 www.facebook.com user1
2 www.gmail.com user2
3 www.kasperksy.com user2
4 www.google.com user4
and if i want to sort out all the rows (into a new matrix) in which 'facebook' and 'gmail' occur , what do i need to do . please guide me along , i dont ask for the full code just help me out how to start with.

Best Answer

K = {1 'www.facebook.com' 'user1'
2 'www.gmail.com' 'user2'
3 'www.kasperksy.com' 'user2'
4 'www.google.com' 'user4' }
out = K(~cellfun('isempty',regexp(K(:,2),'(facebook)|(gmail)')),:)