vim - 如何使用 vim 有条件地替换数字
问题描述
我可以看到很多关于如何使用:%s
. 但我想在我的文件中执行此操作,该文件包含大量 CSV 格式的数字:
- 查找号码
< -100
- 将它们替换为
-98
如何在 VIM 或任何其他编辑器/脚本语言中执行此操作?
解决方案
可以使用这样的submatch()
功能:
:%s/-[0-9]\+/\=submatch(0) < -100 ? -98 : submatch(0)/g
现在每个小于 -100 的数字都将被 -98 替换,其余的保持不变。请注意,此正则表达式将仅匹配负数。
推荐阅读
- c# - 在 .NET 中,什么时候调用 getter 和 setter?
- python - 重组 pandas 数据框,将 Column 变成新的 Header,原始 Header 成为具有预先存在的 Column 的多索引的一部分
- angular - 如何与重定向共享令牌验证功能?
- django - 没有将其注册为应用程序的 Django 文件夹
- kubernetes - Cassandra Kubernetes Statefulset NoHostAvailableException
- android - 如何从pdf阅读器的文件中获取pdf
- reactjs - 如何在 Azure 中安装 Semantic-UI
- reactjs - FontAwesome 微调器不会在 React 中旋转
- java - 模拟服务层中的字段注入依赖项,包括推土机映射器
- algorithm - Dijkstra 是否适用于所有负权重