sscanf missing first zero

2 views (last 30 days)
Jason
Jason on 23 Apr 2021
Commented: Jason on 23 Apr 2021
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

Find more on Characters and Strings in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!