VIM请教:文本中有一些科学计数法的数字,想对某些数字同时乘以"-2",肿么办?
发表于 : 2011-07-08 22:41
如果是所有数字全部乘以-2, lh-n 兄提供了很好很强大的代码:
:%s/\<-\=\d\.\d\+E-\d*\>/\=-2*str2float(submatch(0))/g
如果是"L="后面的第一个数字乘以-2,该肿么办???
Exam:
STDEV 2.94873E-13 L=1.82393E-13 1.96625E-13 2.8074E-13 2.79168E-13 2.95763E-13 2.16372E-13 L=1.77095E-13 1.90607E-13 4.07321E-13 2.52867E-13 3.97069E-13 2.4031E-13 L=7.21644E-14 1.44322E-13 3.42594E-13 4.42298E-13 2.87842E-13 2.58782E-13 L=2.75495E-13
A Median JLEAB_P50N1SA_6K -3.55E-12 -4.114E-12 -3.541E-12 -3.713E-12 -4.023E-12 -3.574E-12 -3.936E-12 L=-3.733E-12 -3.614E-12 -4.288E-12 -3.741E-12 -3.994E-12 -3.588E-12 L=-3.648E-12 -3.455E-12 -4.145E-12 -3.775E-12 -3.861E-12 -3.828E-12 L=-4.221E-12
:%s/\<-\=\d\.\d\+E-\d*\>/\=-2*str2float(submatch(0))/g
如果是"L="后面的第一个数字乘以-2,该肿么办???
Exam:
STDEV 2.94873E-13 L=1.82393E-13 1.96625E-13 2.8074E-13 2.79168E-13 2.95763E-13 2.16372E-13 L=1.77095E-13 1.90607E-13 4.07321E-13 2.52867E-13 3.97069E-13 2.4031E-13 L=7.21644E-14 1.44322E-13 3.42594E-13 4.42298E-13 2.87842E-13 2.58782E-13 L=2.75495E-13
A Median JLEAB_P50N1SA_6K -3.55E-12 -4.114E-12 -3.541E-12 -3.713E-12 -4.023E-12 -3.574E-12 -3.936E-12 L=-3.733E-12 -3.614E-12 -4.288E-12 -3.741E-12 -3.994E-12 -3.588E-12 L=-3.648E-12 -3.455E-12 -4.145E-12 -3.775E-12 -3.861E-12 -3.828E-12 L=-4.221E-12