0

我有一个字符串单元格数组。我需要为每个项目提取 1 到 n 个字符。字符串总是长于 n 个字符。请参见:

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 但没有成功。谢谢。

4

1 回答 1

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);
于 2013-03-14T21:00:01.240 回答