extract numbers from string in a cell

Hi, I have a cell containing a string such as 'TT21abc.def'. I want to extract just the numbers so I'm left with '21'. Does anyone know how? I tried using sscanf but I was getting errors and think I don't have the right format inputs. Thanks in advance.

 채택된 답변

Friedrich
Friedrich 2012년 5월 8일

1 개 추천

Hi,
you can use regexprep or some ascii value representation comparison to do so, e.g.
a = {'TT21abc.def'};
%ascii value comparison, char(48) = '0' and char(57) = '9'
a{1}(a{1} <= 57 & a{1} >= 48)
%or use regexprep
regexprep(a{1},'\D','')
If you have a cell array with strings, I would use regexprep because it can handle cell arrays of strings as input
b = {'TT21abc.def'
'sdfsdf34435afafsd.,.,3434'}
out = regexprep(b,'\D','')

추가 답변 (1개)

Andrei Bobrov
Andrei Bobrov 2012년 5월 8일

0 개 추천

with using function regexp
regexp(a,'\d*','match')
or:
b = {'TT21abc.def'
'sdfsdf34435afafsd.,.,3434'}
out = regexp(b,'\d*','match');
out = cat(2,out{:})

카테고리

도움말 센터File Exchange에서 Characters and Strings에 대해 자세히 알아보기

질문:

S
S
2012년 5월 8일

Community Treasure Hunt

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

Start Hunting!

Translated by