Loading data from document and isolating numbers.

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.

4 Kommentare

Jan
Jan am 9 Jan. 2013
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
ZK am 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
Thorsten
Thorsten am 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.
ZK
ZK am 9 Jan. 2013
Thorsten like I said I have this value. It always looks like there is no space before 99.00

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 9 Jan. 2013

0 Stimmen

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

2 Kommentare

ZK
ZK am 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()

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by