Read a string with numbers and scientific notations
Show older comments
Dear All,
I am trying to read a text file looks like this:
# Counters
sec=60, Monitor=8.66289e+06, bstop=818664, I0=829726, I1=0, ch5=0, ch6=0, ch7=0.
I would like to read the Monitor value (8.66289e+06). I was using
k=sprintf('txt_files/MnO2_20170512_05120943_%04d.txt',i);
filetext=fileread(k);
numbers = str2double(regexp(filetext, '(?<=Monitor=[^0-9]*)[0-9]*\.?[0-9]+', 'match'));
In this way I can get the number "8.66289". But today I would like to include the scientific notation as well. So my output will be "8.66289e+06". I am not really sure how to proceed with this even though I searched in the forum.
I tried
numbers3 = regexp(filetext, '(?<== )((\d|(+)|(\.)|(e))+','match');
and
numbers3=sscanf(sprintf('%s ',numbers3{:}),'%g')
But looks like something was not right in my code.
Thank you for help!
Accepted Answer
More Answers (0)
Categories
Find more on Characters and Strings in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!