1

以下のような数のブロック(数百)を含むファイルがあります。

これは問題ありません(16x20、行と列の正しい数)

11111111111111111110
16666616666666661110
16111616111111162610
16111646111663132610
16162616261623132610
16162313261623132610
16162313261623132610
16162313261623132610
16162313261623132610
16162313261623132610
16162313261623132610
16162313261626132610
16166313661116632610
16111111111116132610
16666666666666136610
11111111111111111110

これは末尾のゼロで埋める必要があるので(16x20)

111111111111111111
166616666666663661
166611111111111661
166666366663661661
113161111111161611
1316166666616161
1616162262616161
11616166112616161
16616166116616161
16616162262616161
16616166266616161
16616111161116161
1661666666666616111
1661666166163366661
1641666166166613661
1111111111111111111

それらをすべてゼロで埋めて、すべて最初の例のようにします。私はnotepad++の正規表現機能を知っていますが、それを機能させるのに苦労しています。私は与えられたどんな助けにも感謝します。

4

5 に答える 5

1

あなたはマクロを介してそれを行うことができます。

まず、マクロを使用して、各行の末尾に多数のゼロを追加します。

  1. 最初のエントリに注意
  2. レコードマクロをクリックします
  3. 押すend
  4. 20個のゼロを入力します
  5. 押すdown arrow
  6. クリックして記録を停止
  7. すべての行が次のようになるまでマクロを再生します

    11111111111111111100000000000000000000000000000000000000000000 16661666666666366100000000000000000000000000000000000000000000 16661111111111166100000000000000000000000000000000000000000000 16666636666366166100000000000000000000000000000000000000000000 11316111111116161100000000000000000000000000000000000000000000 131616666661616100000000000000000000000000000000000000000000 161616226261616100000000000000000000000000000000000000000000 1161616611261616100000000000000000000000000000000000000000000 1661616611661616100000000000000000000000000000000000000000000 1661616226261616100000000000000000000000000000000000000000000 1661616626661616100000000000000000000000000000000000000000000 1661611116111616100000000000000000000000000000000000000000000 166166666666661611100000000000000000000000000000000000000000000 166166616616336666100000000000000000000000000000000000000000000 164166616616661366100000000000000000000000000000000000000000000 111111111111111111100000000000000000000000000000000000000000000

それで...

  1. 最初の行のケア
  2. レコードをクリックします
  3. homeキーを押す
  4. right arrowキーを20回押す
  5. キーshiftを押したまま押しますend
  6. deleteキーを押す
  7. 押すdown arrow
  8. クリックして記録を停止
  9. すべての行が処理されるまでマクロを再生します

プロセス全体を単一のマクロとして保存できるため、将来的には1回クリックするだけです。

于 2013-02-14T16:21:34.930 に答える
1

プラグインConyEditを使用してこれを行うことができます。ConyEditをバックグラウンドで実行している状態で、次の手順に従います。

  1. コマンドラインcc.aal 00000000000000000000を使用して、20個のゼロ文字の行の後に追加します。
  2. コマンドラインcc.gc 1/\d{20}/を使用して、正規表現の一致の最初の列を取得します。
于 2018-07-15T14:27:43.207 に答える
0

これをプロゴマティックではなく手動で実行したいとお考えですか?

Findreplaceを開きます

行に数字を付けずに最後から最初にコピーするので...

この例では

111111111111111111<---ここからここまで--->166616666666663661166611111111111661

それを罰金に貼り付けます(はい、一部のアプリケーションでは手動で他のアプリケーションを入力できないリターンを効果的にコピーします)

次に、置換ボックスに「0」と入力し、リターンを押します。その魔法をヒットしてすべてを置換します:D

これにより、新しい行にヒットするたびに0が追加され、次に新しい...新しい行が追加されます。

編集:別の方法をすばやく確認して、別のオプションを回復します:P私に10を与えます

編集2:

ああ、このような何かがうまくいくでしょう:Pはちょうどそれをテストしました。
検索置換で[0-9]を使用します。したがって、123123123123(長さ12)を探していて、最大20までバフする必要がある場合は、
FINDを()に含める必要があります。

見つけるだろう

 ([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]  )

置換は\1正規表現なしと呼ばれます。これは私の間違いでした。

\ 100000000

テストおよび確認済み!すべてをオンにし、ラップをオフにする必要があることを忘れないでください!

他の数値についても同様です。これをマクロやものでループできるかどうかはわかりませんが、:Pが、現在よりも役立つことを願っています。

2つの優れたリソース。

http://blog.creativeitp.com/posts-and-articles/editors/understanding-regex-with-notepad/comment-page-1/

http://regexpal.com/

于 2013-02-14T15:47:38.010 に答える
0

私はあなたにマクロソリューションを与えることができます

テキストの先頭に移動します

選択するMacro/Start Recording

を押しend016回押してから、を押しHomedown arrow key

選択するMacro/End Recording

これで、すべての行の最後に16個のゼロを追加するマクロができました。このマクロをすべての行で再生します。

これで、すべての行にゼロが追加されました。

キーAltを押してマウスを使用して、必要なテキストのブロック(列)を選択し、別の空のメモ帳タブに貼り付けます

列モードの編集に関するヘルプは、メモ帳? / help contentsメニュー内にあります

幸運を

于 2013-02-14T16:13:51.047 に答える
0

OPのコメントに基づく:vim/gvimというエディターを試すことができます

ファイルをvimで開き、次のように入力します。

:%s/.*/\=printf("%-20s",getline("."))/|%s/ *$/\=substitute(submatch(0)," ","0","g")/  

<Enter>上記の入力後に押すことを忘れないでください。

次に、テキストが希望どおりに変更されていることがわかります。

もちろんvimマクロも動作しますが、コマンドの方がいいと思います... :)

于 2013-02-14T16:35:36.383 に答える