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

String 从字符串单元格数组中删除字符(Matlab),string,matlab,character,cell,String,Matlab,Character,Cell,我有一个字符串的单元格数组。我需要为每个项目提取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'

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

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);
抱歉,没有注意到您需要矢量化。。。也许我只能推荐一条班轮

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

谢谢然后,用户可以执行vertcat(数据{:})以获得最终的ans。谢谢。然后,用户可以执行vertcat(数据{:})以获得最终的ans。