MATLAB: Replace “-” with “E-” in output file

regexprep

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

Best Answer

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