MATLAB Answers

Replace "-" with "E-" in output file

1 view (last 30 days)
Etienne
Etienne on 14 Feb 2017
Commented: Etienne on 14 Feb 2017
Hi All
I have an output file that printed some numbers incorrectly, for instance, 1.7865271465-119 should be 1.7865271465E-119. I do not have control with regards to the output format. My question is how can I replace the "-" with "E-"? I have tried regexprep but it replaces the two numbers each side of the minus sign as well. Any help will be appreciated.
Regards
Etienne
  1 Comment
Adam
Adam on 14 Feb 2017
Can't you just do it in a standard text editor with a find & replace?

Sign in to comment.

Accepted Answer

per isakson
per isakson on 14 Feb 2017
Edited: per isakson on 14 Feb 2017
This does it
>> regexprep( '1.7865271465-119', '([\d\.]+)\-(\d+)', '$1E-$2' )
ans =
1.7865271465E-119
But it doesn't work with '1.7865271465+119'. This works with plus or minus
>> regexprep( '1.7865271465+119', '([\d\.]+)([\-\+])(\d+)', '$1E$2$3' )
ans =
1.7865271465E+119
  1 Comment
Etienne
Etienne on 14 Feb 2017
Brilliant, thank you!

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by