sscanf missing first zero

5 次查看(过去 30 天)
Jason
Jason 2021-4-23
评论: Jason 2021-4-23
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

采纳的回答

Jan
Jan 2021-4-23
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);

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by