【问题标题】:Searching text of one file in another file by matlab [closed]通过matlab在另一个文件中搜索一个文件的文本[关闭]
【发布时间】:2013-12-08 10:08:41
【问题描述】:
我拥有的是 2 个列向量变量/文件,每个变量/文件都包含文本条目。假设一个是 mx1,另一个是 nx1 (n>m)。并且第一个文件中存在的条目存在于第二个文件中,但可以多次出现。所以我想要条目与第一个文件匹配的第二个文件的所有索引。示例:
第一个文件包含 [am pm cm dm]'
第二个文件包含 [am am bm pm pm pm dm em cm]'
所以答案将返回 [1 2 4 5 6 7 9]'
请帮忙。
或
如果它可以使第三个文件只有常见条目,如 [am am pm pm pm dm cm]
【问题讨论】:
标签:
matlab
matching
text-database
【解决方案1】:
只需使用ismember:
-
假设您的字符串包含在元胞数组中:
>> cell1 = {'am' 'pm' 'cm' 'dm'};
cell2 = {'am' 'am' 'bm' 'pm' 'pm' 'pm' 'dm' 'em' 'cm'};
find(ismember(cell2,cell1))
ans =
1
2
4
5
6
7
9
-
如果您的字符串都是等长的并且被定义为文本矩阵的行:
>> matrix1 = ['am';'pm';'cm';'dm'];
matrix2 = ['am';'am';'bm';'pm';'pm';'pm';'dm';'em';'cm'];
find(ismember(matrix2,matrix1,'rows'))
ans =
1
2
4
5
6
7
9