0

我有一个包含一系列数字的文档,如下所示:

0300010000000394001001,27
0300010000000394001002,0
0300010000000394002001,182
0300010000000394002002,51
0300010000000394003001,156
0300010000000394003002,40

我需要找到换行符并根据字符串长度替换为多个空格。如果它有 24 个这样的字符 - 0300010000000394001002,0 那么我需要用 5 个空格替换末尾的换行符。如果它有 25 个这样的字符 - 0300010000000394002002,51 那么我需要用 4 个空格等替换末尾的换行符。

在我的文本编辑器中,我可以使用查找和替换。我搜索了^(.|\s){24}$24 个字符的行长 - 但这显然会替换整行,我只需要在末尾替换新的行字符。

我想指定一个换行符 AFTER ^(.|\s){24}$。这可能吗?

4

1 回答 1

1

听起来你需要两件事。

  1. 多行模式(请参阅“使用 ^ 和 $ 作为行首和...”)
  2. 反向引用

大多数支持正则表达式的编辑器自然支持这些,但您必须让我们知道您使用的是什么编辑器,以便我们具体说明。在不知道您使用的是什么编辑器的情况下,我只能说您想要执行以下操作的某种组合:

regex           subst
-----           -----
^(.{24})\n      $1     <-- there are spaces here
^(.{24})^M      \1     <-- there are spaces here
^(.{24})\s        ^^^^^
于 2012-09-06T05:55:28.833 回答