![查找并替换特定列,但仅当其等于特定值时](https://linux22.com/image/1564186/%E6%9F%A5%E6%89%BE%E5%B9%B6%E6%9B%BF%E6%8D%A2%E7%89%B9%E5%AE%9A%E5%88%97%EF%BC%8C%E4%BD%86%E4%BB%85%E5%BD%93%E5%85%B6%E7%AD%89%E4%BA%8E%E7%89%B9%E5%AE%9A%E5%80%BC%E6%97%B6.png)
如何用字符 (N) 替换第 132 列(空格或 Y),但仅当第 132 列 = 空格时才这样做?
查看此处的其他线程,我想出了一种方法来将第 132 列替换为 N:
-查找:^(.{132})(.)
-替换:\1N
...但这将取代第 132 列每一个行,不占空间。谢谢您的帮助!
完整场景: 我有一个字符长度定义的文档,其中每行在第 132 列中都有一个空格或一个 Y。在任何有空格的行中,我需要将其替换为 N。
答案1
- Ctrl+H
- 查找内容:
^.{131}\K
<--- K 后面有一个空格 - 用。。。来代替:
N
- 检查环绕
- 检查正则表达式
- 请勿检查
. matches newline
- Replace all
解释:
^ : beginning of line
.{131} : 131 any character
\K : forget all we have seen until this position
a space