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.

*No products are associated with this question.*

Answer by Walter Roberson
on 9 Jan 2013

Accepted answer

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

Walter Roberson
on 10 Jan 2013

Opportunities for recent engineering grads.

## 4 Comments

## Jan Simon (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/58333#comment_121644

And what is the expected result? Is this 1.543, 345.12... or 1.5, 43, 34, 5.12, 00 ? Is there any chance that we can guess this

reliably?## ZK (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/58333#comment_121680

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

## Thorsten (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/58333#comment_121681

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.

## ZK (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/58333#comment_121686

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