vim中的十进制数字乘以固定数量

问题描述 投票:0回答:1

我有一个包含以下内容的文件:

set x 0.00456 y 0.05896。

我想将数字乘以固定的数量(比方说1000)。这些数字并不总是存在于同一列中,因此任何带有awk的内容都无法显示。我一直在尝试此方法,但不确定我使用子匹配的方式是否正确。

%s / \ d *。\ d * / \ = submatch(2)* 100

regex vim text-processing
1个回答
0
投票

您的submatch(2)用法不正确。您没有任何匹配的组,因此您应该使用submatch(0)

代码中的另一个问题是,您应该首先将字符串更改为float,然后进行计算:

%s/\v\d+[.]\d+/\=str2float(submatch(0))*1000/g
© www.soinside.com 2019 - 2024. All rights reserved.