从字符串的单元格数组中删除字符(Matlab)

时间:2013-03-14 20:44:03

标签: string matlab character cell

我有一个字符串的单元格数组。我需要为每个项目提取1到1个字符。字符串总是长于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但没有成功。感谢。

1 个答案:

答案 0 :(得分: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);