0

次のような数値の範囲を持つドキュメントがあります。

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

改行文字を見つけて、文字列の長さに応じていくつかのスペースに置き換える必要があります。0300010000000394001002,0 のような 24 文字の場合、最後の改行文字を 5 つの空白に置き換える必要があります。0300010000000394002002,51 のような 25 文字の場合、最後の改行文字を 4 つの空白などに置き換える必要があります。

私のテキスト エディターでは、検索と置換を使用できます。行の長さ^(.|\s){24}$を 24 文字で検索しますが、これは明らかに行全体を置き換えます。最後の改行文字のみを置き換える必要があります。

改行文字 AFTER を指定したい ^(.|\s){24}$。これは可能ですか?

4

1 に答える 1

1

2つ必要なようです。

  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 に答える