how to convert cell array to numeric array?

2 次查看(过去 30 天)
how to convert cell array of size (4514,1) to numeric array where each cell has values like 'fh8453655' and some cells are nan.
  4 个评论
Stephen23
Stephen23 2021-12-3
"numeric in the sense i want to convert this cell array to a array where my array type is double with same data"
Okay. Please show us the exact numeric value that you expect to get for the character vector 'fh8453655' .
Jan
Jan 2021-12-3
In other words: fh8453655 is not a number. It is not clear, what you expect as output. Perhaps 8453655?

请先登录,再进行评论。

回答(1 个)

Mathieu NOE
Mathieu NOE 2021-12-3
maybe this ?
>> a = {'fh8453655'}
>> beginStr = regexp(a, '\d+', 'match');
>> beginNumbers = cellfun(@(x) str2double(x{1}), beginStr)
beginNumbers =
8453655
  1 个评论
Stephen23
Stephen23 2021-12-3
Simpler, but equally fragile:
a = {'fh8453655'}
a = 1×1 cell array
{'fh8453655'}
b = str2double(regexprep(a,'\D+',''))
b = 8453655
b = str2double(regexp(a,'\d+','match','once'))
b = 8453655

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by