findstr 與strfind 的區別

2022-04-04 10:12:47 字數 766 閱讀 8170

matlab中這兩個字串查詢的函式findstr(), strfind()表明上看起來用法相似,效果也相似。

1. 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

2. 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(s1,s2)掉換位置,提示出錯。剛剛檢查發現是元胞結構體的問題,使用textread()讀進來的字串為什麼成cell結構?

通過cell2mat()可以把cell結構轉成資料,findstr(),strfind()函式只能對一維字串資料進行操作,若是二維字串則得使用別的函式。

findstr 與strfind 的區別

matlab中這兩個字串查詢的函式findstr strfind 表明上看起來用法相似,效果也相似。1.findstr s1,s2 在較長的字串中查詢較短的字串出現的次數,並返回其位置,因此無論s1,s2哪個為長字串,位置在前在後都沒有關係。例 s find the starting indices...

Findstr 命令解析

findstr 可以在任何 ascii檔案或檔案中精確查詢所要查詢的文字。然而,有時要匹配的資訊只有一部分或要查詢更寬廣的資訊範圍。在這種情況下,findstr具有使用正規表示式搜尋各種文字的強大功能。正規表示式是用於指定文字型別的符號,與精確的字串相反。標記使用文字字元和元字元。每個在常規的表示式...

Findstr 命令解析

findstr 可以在任何 ascii檔案或檔案中精確查詢所要查詢的文字。然而,有時要匹配的資訊只有一部分或要查詢更寬廣的資訊範圍。在這種情況下,findstr具有使用正規表示式搜尋各種文字的強大功能。正規表示式是用於指定文字型別的符號,與精確的字串相反。標記使用文字字元和元字元。每個在常規的表示式...