[討論] 找到cell中特定長度字串的方法?
大家好,我剛學用matlab沒多久,遇到一個有關cell的問題想請教大家
標題可能不太清楚,我直接舉例
我現在有一個cell,裏面都是文字
DD={'thisnot' 'this' 'nothis' 'thiswrong' 'this'};
我希望找出只有 this 這個字的元素的位置
我設想的方法是找出字串長度為4的元素
嘗試過length(DD) length(cell2mat(DD)) 和cellfun等方法
想當然都不行
現在所使用的方法靠硬幹,用迴圈逐個找
a=length(cell2mat(DD(i))); a==4
但我覺得這樣程式很長又不方便
因此想請教各位大神,有沒有更好的方法?
另外想問
如果cell所有元素的字串長度都一樣,像下面
BB={'this_11' 'this_no' 'no_this' 'this_12' 'this_no'}
這種情況下我有甚麼方法可以找到 this_數字 這個格式的元素位置了?
拜托各位指點迷津...
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.47.41
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1440494971.A.C81.html
→
08/25 17:35, , 1F
08/25 17:35, 1F
→
08/25 17:36, , 2F
08/25 17:36, 2F
可以了耶! 原來要這樣用cellfun啊! 實在太感謝了 (跪
那如果是文中BB那種情況的話有辦法嗎??
再感謝一次!!
※ 編輯: mmcci (140.115.47.41), 08/25/2015 17:42:56
→
08/25 17:38, , 3F
08/25 17:38, 3F
C大你真的是我的大恩人
但我發現用'\d*'這樣的話會連 this_no 這種後面接字母的也找出來
所以我只用'\d',這樣就能成功找出 this_數字 的元素了
實在太感謝你啦 (再跪
※ 編輯: mmcci (140.115.47.41), 08/25/2015 17:50:04
→
08/25 17:58, , 4F
08/25 17:58, 4F
→
08/26 11:12, , 5F
08/26 11:12, 5F
→
08/29 01:58, , 6F
08/29 01:58, 6F
推
08/29 05:54, , 7F
08/29 05:54, 7F
→
08/29 10:31, , 8F
08/29 10:31, 8F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章