[問題] cell array of string搜尋

看板MATLAB作者 (HHung)時間10年前 (2014/01/20 11:36), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/1
假設我有一個6x1的cell array 每一個cell的內容都是一個字串 假設如下: 'xxx_cat_xxx' 'xxx_chicken_xxx' 'xxx_cat_xxx' 'xxx_chicken_xxx' 'xxx_cat_xxx' 'xxx_chicken_xxx' 我想把名字有cat的提出來 目前我想到的方法只有用for迴圈 每一個loop用一次strfind(cell_name{n}, 'cat')來判斷 但能不能直接處理整個array啊 我是希望能跑出一個logical array類似 1(true) 0(false) 1 0 1 0 之類的 我也有試過直接用strfind(cell_name, 'cat') 結果會出現一個6x1 cell array如下: 5 [] 5 [] 5 [] 之後我還是要用for loop來一個一個判斷...... 不知道大家有沒有想到什麼方法可以解決這問題 還請各位大大指教...... 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.135.192

01/20 12:30, , 1F
~cellfun(@isempty,regexp(C,'cat')); 假設C是你的矩陣
01/20 12:30, 1F

01/20 12:30, , 2F
說錯 C是你的cell
01/20 12:30, 2F

01/20 12:32, , 3F
推樓上的方法 用cellfun + isempty一起去判斷
01/20 12:32, 3F

01/20 13:57, , 4F
喔喔感謝,我都忘了有cellfun這招XDDDDDD
01/20 13:57, 4F
文章代碼(AID): #1It9dHFK (MATLAB)