MATLAB Answers


Loading data from document and isolating numbers.

Asked by ZK
on 9 Jan 2013

Hi, I have to add to creating program a complicated database from other file with united numbers sometimes with no space between them. Which formula should I use to load from random line in data document, and isolate them to other calculations.

Example 1.543 345.1200 1.32399.0099.00 1.3399.00

Thank you.


on 9 Jan 2013

Yes of course is always the same value 99.00

So expected values are 1.543 345.1200 1.323 99.00 99.00 1.33 99.00

on 9 Jan 2013

Unless you have some further information about the values of the numbers (e.g., always > 10) or the format (e.g., number of significant digits) you cannot retrieve the original numbers, because you can cut a chunk of digits at any positions other than those just before and after a . that would leave you with this single '.', which is not a number.

on 9 Jan 2013

Thorsten like I said I have this value. It always looks like there is no space before 99.00


No products are associated with this question.

1 Answer

Answer by Walter Roberson
on 9 Jan 2013
 Accepted answer

NumericLine = str2double( regexp( regexprep(TheLine, '99\.0', ' &'), '\s+', 'split') );


on 10 Jan 2013

Thank You, You were very helpful, I check it. Can I work with this formula when I have whole database loaded with fopen and fscanf with numbers characters and words?

You would need to have scanned the line as a string, so you might as well fgetl() instead of fscanf()

Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!