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具有使用正規表示式搜尋各種文字的強大功能。正規表示式是用於指定文字型別的符號,與精確的字串相反。標記使用文字字元和元字元。每個在常規的表示式...