sscanf missing first zero

Hello I need to pull out the number below from the string
val='020550023 MBB'
and then convert it back to a string (so I want to strip any text)
So this is what I want '020550023'
I've used
s=sscanf(val,'%f')
But it misses the 1st zero.
Any suggestions to also get the first zero if its present?
Thanks

 Accepted Answer

Jan
Jan on 23 Apr 2021
No, sscanf considers the leading zeros. But numbers are stored in double format in Matlab (and other programming languages as well), which does not consider leading zeros. They are useful for mathematical operations.
If you want to keep the leading zero, you treat the information as a string. Then use corresponding string methods for the manipulation:
val = '020550023 MBB'
s = strtok(s, ' ');
% Or:
index = find(~isstrprop(val, 'digit'), 1) - 1;
s = val(1:index);

More Answers (0)

Categories

Products

Release

R2021a

Asked:

on 23 Apr 2021

Commented:

on 23 Apr 2021

Community Treasure Hunt

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

Start Hunting!