擅长:python、mysql、java
<p>写得有点快,所以可能不完美,但像这样的东西?你知道吗</p>
<pre><code>import re
scaling_factors = {
'g' : 'e9',
'meg': 'e6',
'k' : 'e3',
'm' : 'e-3',
'u' : 'e-6',
'n' : 'e-9',
}
expr = 'k1 + 4.35k + 3.69meg*(pow(2.4u, 2*km2))'
for k,v in scaling_factors.items():
ptrn=re.compile('\d('+k+')\D')
expr=ptrn.sub(v,expr)
print(expr)
</code></pre>
<p>输出:</p>
<pre><code>k1 + 4.3e3+ 3.6e6(pow(2.e-6 2*km2))
</code></pre>