# Extracting a number from cells

1 view (last 30 days)
Iwan Marshall on 17 Dec 2020
Answered: Image Analyst on 17 Dec 2020
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
Image Analyst on 17 Dec 2020
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

Ameer Hamza on 17 Dec 2020
Edited: Ameer Hamza on 17 Dec 2020
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 on 17 Dec 2020
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

### Categories

Find more on Multidimensional Arrays in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by