单元格数组删除每个单元格中的前导字符
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'
我有一个 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'