web-dev-qa-db-ja.com

Notepad ++ファイルから列を削除する方法

Notepad ++でtxtファイルの中央にある列を削除したい。ファイルの長さは約50K +行なので、カーソルがゆっくりと行を直線的に移動する間、キーを押し続ける必要はありません。

4
john

試してください:

Alt + Shift +左クリック

それは選択長方形を描くはずです、あなたのために働くかもしれません。

3
GorangeNinja

TextFX v0.26プラグイン がインストールされたNotepad ++があり、[置換]ダイアログで[正規表現]を選択していると仮定します。

データが次の形式の場合

col1 col2 col3 col4
col1 col2 col3 col4
col1 col2 col3 col4
col1 col2 col3 col4

列にスペースがなく、1つのスペースで区切られている場合、3番目の列を削除したいとします。(.*?) (.*?) (?:.*?)( .*)を検索し、$1 $2$3(スペースは必須)に置き換えて取得できます。

col1 col2 col4
col1 col2 col4
col1 col2 col4
col1 col2 col4

regex101.com 検索の正規表現を私よりも簡潔に説明します。

/(.*?) (.*?) (?:.*?)( .*)/
    1st Capturing group (.*?)
        .*? matches any character (except newline)
            Quantifier: *? Between zero and unlimited times, as few times as possible, expanding as needed [lazy]
     matches the character  literally
    2nd Capturing group (.*?)
        .*? matches any character (except newline)
            Quantifier: *? Between zero and unlimited times, as few times as possible, expanding as needed [lazy]
     matches the character  literally
    (?:.*?) Non-capturing group
        .*? matches any character (except newline)
            Quantifier: *? Between zero and unlimited times, as few times as possible, expanding as needed [lazy]
    3rd Capturing group ( .*)
         matches the character  literally
        .* matches any character (except newline)
            Quantifier: * Between zero and unlimited times, as many times as possible, giving back as needed [greedy]

同じ結果を達成するための他の正規表現が可能です。

列が固定幅(スペースを含む)であるか、別の文字で区切られている場合は、検索式と置換を変更する必要がありますが、サンプルデータと必要な結果がないと、正確な答えが得られません。

2
Andrew Morton

プラグインをダウンロード/インストールせずにNotepad ++でこれを行う方法はないと思います。ファイルが区切られている場合、おそらくそれをExcelまたは類似のソフトウェアにロードし、その方法で列を削除できますか?

編集:私はちょうど面白い解決策を考えました。 Windowsまたはオペレーティングシステムで行のスクロール速度を変更し、Notepad ++を再起動してから、マウススクロールまたは矢印キーを使用できます。これがどれほどの違いを生むかはわかりませんが、一見の価値があるかもしれません。

1
Lethal Left Eye