findstr和strfind区别

matlab中这两个字符串查找的函数findstr(), strfind()表明上看起来用法相似,效果也相似。

一. findstr(s1,s2)–在较长的字符串中查找较短的字符串出现的次数,并返回其位置,因此无论s1,s2哪个为长字符串,位置在前在后都没有关系。

例:
s = ‘Find the starting indices of the shorter string.’;

findstr(s, ‘the’)

ans = 6 30

findstr(‘the’, s)

ans = 6 30

二. strfind(s1,s2)–or strfind(s1,pattern),因此其意思在s1中搜索pattern。

例:
S = ‘Find the starting indices of the pattern string’;

strfind(S, ‘in’)

ans = 2 15 19 45

strfind(S, ‘In’)

ans = []

注意,第一个函数findstr函数中,不能识别元胞数组,该函数只能用于字符串中。而第二个函数strfind中,S可以是元胞数组格式的字符串。
通过cell2mat()可以把cell结构转成数据,findstr(),strfind()函数只能对一维字符串数据进行操作,若是二维字符串则得使用别的函数。

    原文作者:15522662503
    原文地址: https://www.jianshu.com/p/bb36735e61d0
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞