在字符串中搜索完全匹配

时间:2016-02-23 17:14:40

标签: matlab

在MATLAB中给出一个具有以下格式的表:

  itemids        keywords
    1            3D,children,anim,pixar,3D,3D pixar 
    2            3D,4D pixar,3D car
    ...            ...

我想计算每个项目中每个关键字重复的次数。 {strong} keywords = {'3D';'Children';'anim';'pixar' ...}中提供了所有唯一关键字列表。输出是矩阵TF,其行数等于项目数和列数等于length(keywords)

这里的困难之一是搜索每个字符串的完全匹配。我目前正在使用strcmp(),它似乎给出了具有给定单词的所有条目,而不是完全匹配。在我的情况下,我需要区分3D3D pixar

1 个答案:

答案 0 :(得分:0)

这可以使用MATLAB中的ismember函数完成。我假设每个项目的关键字实际上是一个字符串,在这种情况下,您需要在执行ismember之前拆分关键字。

relevantKeyWords = {'3D','Children','anim','pixar'};
keywordsInItem = strtrim(strsplit(keywordsStr,',')) % Split the words and trim each word

tmp = ismember(relevantKeywords,keywordsInItem); 

tmp的大小为1 x length(relatedKeywords),表示是否找到了相关的关键字。