MATLAB字符串匹配函数中,应用较多的有:findstr、strfind、strmatch、strcmp、strmcmp。这里我们大致列举这些函数的区别与联系
在Matlab中,这几个函数区分如下:
(以下默认S1和S2是字符串,同样也适用于cell细胞类型数据,也就是循环对cell中每个元素分别判断即可。)
findstr(S1,S2):寻找是否有S1和S2之间的匹配,真返回1,假返回0,双向;
例:
s = ‘How much wood would a woodchuck chuck?’;
findstr(s,’a’) returns 21
findstr(‘a’,s) returns 21
findstr(s,’wood’) returns [10 23]
findstr(s,’Wood’) returns []
findstr(s,’ ‘) returns [4 9 14 20 22 32]
strfind(S1,S2):寻找S2是否匹配S1,和上面的唯一区别就是这个是单向的。请注意唯一的区别在例子中红字部分。
例:
s = ‘How much wood would a woodchuck chuck?’;
strfind(s,’a’) returns 21
strfind(‘a’,s) returns []
strfind(s,’wood’) returns [10 23]
strfind(s,’Wood’) returns []
strfind(s,’ ‘) returns [4 9 14 20 22 32]
strcmp(S1,S2):寻