Extracting a number from cells

1 回表示 (過去 30 日間)
Iwan Marshall
Iwan Marshall 2020 年 12 月 17 日
回答済み: Image Analyst 2020 年 12 月 17 日
Hi,
I am relatively new to MATLAB and I am looking for some help extracting the numbers from a cell containing letters and numbers. The format is 47 rows and 1 column with each cell containing the word 'Monday' followed by a number.
e.g.
Monday06
Monday10
Monday38
Monday18
I was wondering if it is possible to extract just the number so it should say:
06
10
38
18
Apologies for the poor terminology, I am not great with the correct terms for everything.
Thank you
  1 件のコメント
Image Analyst
Image Analyst 2020 年 12 月 17 日
A cell cannot contain both letters and numbers, unless the cell contained a cell array. A cell array can. Not sure what you have because you forgot to attach your cell array data
save('answers.mat', 'yourCellArray');
In the meantime, read this link:

サインインしてコメントする。

回答 (2 件)

Ameer Hamza
Ameer Hamza 2020 年 12 月 17 日
編集済み: Ameer Hamza 2020 年 12 月 17 日
How are these strings stored? Are these stored in a cell array? If yes, try something like this
C = {'Monday06', 'Monday10', 'Monday38', 'Monday18'}
vals = textscan([C{:}], 'Monday%d')

Image Analyst
Image Analyst 2020 年 12 月 17 日
Try isstrprop():
ca = {...
'Monday06'
'Monday10'
'Monday38'
'Monday18'}
for k = 1 : numel(ca)
thisCell = ca{k};
digitIndexes = isstrprop(ca{k},'digit');
numbers(k) = str2double(thisCell(digitIndexes))
end

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by