Matlab - 删除从单元格数组中的char单元格中提取某些字符/数字

时间:2013-09-20 13:44:19

标签: matlab char extraction

我有一个Matlab单元阵列,A< 118080 x 1 cell>看起来像这样:

"Point 1"
"Point 2"
"Point 3"
...
"Point 1230"

细胞是1×9和1×12维度的炭细胞。

我需要将这些字段中的数字分开,以得到118080 x 1矩阵,如:

1
2
3
...
1230

非常感谢任何帮助。

最佳

Sam(Matlab新手)

2 个答案:

答案 0 :(得分:2)

没有使用cellfun regexp的解决方案(此处仅保留数字)

A = {'Point 1'
     'Point 222'
     'Point 33333'}

B = regexp(A, '\d+', 'match');  %produce a cell array of numbers in string format

如果要将单元格转换为矩阵

B = str2double([B{:}])';        %convert to numbers

答案 1 :(得分:1)

cellfun(@(x)(x(7:end)), A, 'UniformOutput', false)

或者如果你想要它们作为数字那么

cellfun(@(x)(str2num(x(7:end))), A)