Notepad++ - 列からすべての行を選択する

Notepad++ - 列からすべての行を選択する

非常に長いテキスト ファイル (約 15,000 行) があります。このファイルには数字 (スペースで区切られた 6 つの数字) のみが含まれています。各行の最初の 3 つの数字のみに関心があります。列モードの選択を試して下にドラッグしましたが、非常に遅く、処理するファイルも複数あります。

選択の開始/終了のトリックも試しましたが、列では機能しないようです。

テキスト ファイル内の最後の 3 列の数字だけを自動的に選択する方法はありますか? 1 つの方法は、指定した列のすべての行を選択するオプションを使用することです。これは可能ですか?

答え1

これを試して:

  1. CTRL+を押すHomeと、入力カーソルがドキュメントの先頭に移動します。
  2. ここで、スクロール バーを使用して、入力カーソルの位置を変更せずに、ドキュメントの下部まですばやくスクロールします。スクロール バーのスライダー部分をドラッグすると、ドキュメントの下部にすばやく移動できます。これは非常に高速です。
  3. マウス ポインターを最後の行の 3 番目の数字の後に移動し、Alt+キーを押しShiftながらクリックします。

ビンゴ!

答え2

これは、数字のみ(つまり、カンマや小数点なし)であると仮定して、次の正規表現で実行できます。

1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666

CTRL-H で検索と置換へ移動

Find what: .*\s(\d+\s\d+\s\d+)$
Replace with: \1
Search Mode: Regular expression

検索正規表現の説明:

.*  = match anything, repeating
\s  = match single whitespace
(   = start capture group
\d+ = match one or more numerals
\s  = match single whitespace
\d+ = match one or more numerals
\s  = match single whitespace
\d+ = match one or more numerals
)   = end capture group
$   = match end of line

置換ボックス:

\1 = capture group 1 from the prior regex match (everything matched between the ( and the ))

これを置き換えるのに数秒かかり、数字の最後の 3 列が残ります。

4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666

NPP 交換ボックスのスクリーンショット:

notepad++ 正規表現の検索と置換

関連情報