findstr()与strfind()的区别
1. findstr(s1,s2)--在较长的字符串中查找较短的字符串出现的次数,并返回其位置,因此无论s1,s2哪个为长字符串,位置在前在后都没有关系。
例:
s = 'Find the starting indices of the shorter string.';
findstr(s, 'the')
ans =
findstr('the', s)
ans =
2. strfind(s1,s2)--or strfind(s1,pattern),因此其意思在s1中搜索pattern,
例:
S = 'Find the starting indices of the pattern string';
strfind(S, 'in')
ans =
strfind(S, 'In')
ans =
看例子似乎挺简单的,但具体用到我的例子上则有问题,前面的findstr(s1,s2)掉换位置,提示出错。刚刚检查发现是元胞结构体的问题,使用textread()读进来的字符串为什么成cell结构?
通过cell2mat()可以把cell结构转成数据,findstr(),strfind()函数只能对一维字符串数据进行操作,若是二维字符串则得使用别的函数。
本文介绍了MATLAB中findstr()与strfind()两个字符串查找函数的区别。findstr()用于在较长字符串中查找较短字符串的位置及次数;strfind()则用于在指定字符串中查找模式。文中还讨论了如何处理cell结构体读取的字符串问题。
2339

被折叠的 条评论
为什么被折叠?



