2013-03-14 144 views
0

我有一個字符串單元格數組。我需要爲每個項目提取1至n個字符。字符串總是長於n個字符。請參閱:刪除字符串單元格數組中的字符(Matlab)

data = { 'msft05/01/2010' ; 
     'ap01/01/2013' } 

% For each string, last 10 characters are removed and put it in the next column 

answer = { 'msft' '05/01/2010' ; 
      'ap' '01/01/2013' } 

是否有可能的矢量化解決方案?我嘗試使用cellfun,但沒有成功。謝謝。

回答

3
data = { 'msft05/01/2010' ; 
     'ap01/01/2013' }; 
for i = 1:length(data) 
    s = data{i}; 
    data{i} = {s(1:end-10) s(end-9:end)}; 
end 

對不起,沒注意,你需要量化的......也許我可以建議只有一個班輪...

data = cellfun(@(s) {s(1:end-10) s(end-9:end)}, data, 'UniformOutput', false); 
+0

感謝。然後,用戶可以執行vertcat(數據{:})以獲得最終答案。 – Maddy 2013-03-14 21:09:04