我看到很多关于如何使用:%s有条件地替换字符串的讨论。但我想在一个包含大量CSV格式数字的文件中实现以下操作: 查找数值< -100 将其替换为-98 我该如何在VIM或其他编辑器/脚本语言中实现此操作?
可以使用 submatch() 函数来实现,方法如下::%s/-[0-9]\+/\=submatch(0) < -100 ? -98 : submatch(0)/g 现在,小于-100的所有数字将被替换为-98,其余数字保持不变。请注意,此正则表达式仅匹配负数。
:%s
一样使用它,它是否有效? - Wanda Ichsanul Isra