单元格数组删除每个单元格中的前导字符

cell array remove the leading character in each cell

我有一个 27 x 3 的单元格,每个单元格都包含文本。

出于某些烦人的原因,我使用的数据已保存在每个以 ' 开头的单元格中,我该如何删除这些?

我的数据示例

   column 1    column 2   column 3
   'some       'text      'blah
   'more       'blah      'help

我想要的

   column 1    column 2   column 3
   some       text      blah
   more       blah      help

cellfun 是最好的使用方法吗?如果有,你是怎么使用的?

使用cellfun with a suitable anonymous function。匿名函数应该接受一个字符串并删除它的第一个字符,所以 @(s) s(2:end):

c = {'''some' '''text' '''blah';
     '''more' '''blah' '''help'}; %// data
c = cellfun(@(s) s(2:end), c, 'uniformoutput', 0); %// remove first element of
                                                   %// each cell's contents

结果:

c = 
    'some'    'text'    'blah'
    'more'    'blah'    'help'

另一种选择是使用 regexprep:

c = {'''some' '''text' '''blah';
     '''more' '''blah' '''help'}; %// data
c = regexprep(c, '''', '');

还有returns:

c = 

    'some'    'text'    'blah'
    'more'    'blah'    'help'