So entfernen Sie Spalten aus einer Notepad++-Datei

So entfernen Sie Spalten aus einer Notepad++-Datei

Ich möchte in Notepad++ eine Spalte in der Mitte einer txt-Datei entfernen. Die Datei ist ungefähr 50.000+ Zeilen lang, daher möchte ich keine Taste gedrückt halten müssen, während der Cursor sich langsam linear durch die Zeilen bewegt.

Antwort1

Versuchen:

Alt + Umschalt + Linksklick

Es sollte ein Auswahlrechteck zeichnen. Das könnte für Sie funktionieren.

Antwort2

Ich gehe davon aus, dass Sie Notepad++ mit demTextFX v0.26-Plugininstalliert ist und Sie im Ersetzen-Dialog „Regulärer Ausdruck“ auswählen.

Wenn Ihre Daten das Format

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

wobei die Spalten keine Leerzeichen haben und durch ein Leerzeichen getrennt sind. Angenommen, Sie möchten die dritte Spalte entfernen: Sie können nach suchen (.*?) (.*?) (?:.*?)( .*)und durch ersetzen $1 $2$3(die Leerzeichen sind erforderlich), um Folgendes zu erhalten:

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

regex101.combietet eine übersichtlichere Erklärung des Such-Regex, als ich es tun würde:

/(.*?) (.*?) (?:.*?)( .*)/
    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]

Andere reguläre Ausdrücke zum Erreichen des gleichen Ergebnisses sind möglich.

Wenn Ihre Spalten eine feste Breite haben (und Leerzeichen enthalten) oder durch ein anderes Zeichen getrennt sind, müssen Sie den Suchausdruck und die Ersetzung ändern, aber ohne Beispieldaten und das gewünschte Ergebnis kann ich keine genaue Antwort geben.

Antwort3

Ich glaube nicht, dass es eine Möglichkeit gibt, dies in Notepad++ zu tun, ohne ein Plugin dafür herunterzuladen/zu installieren. Wenn Ihre Datei durch Trennzeichen getrennt ist, könnten Sie sie vielleicht in Excel oder eine ähnliche Software laden und die Spalte auf diese Weise löschen?

Edit: Mir ist gerade eine interessante Lösung eingefallen. Sie können die Zeilen-Scrollgeschwindigkeit in Windows oder Ihrem Betriebssystem ändern, Notepad++ neu starten und dann entweder mit der Maus scrollen oder die Pfeiltasten verwenden. Ich weiß nicht, wie viel Unterschied das macht, aber vielleicht ist es einen Versuch wert.

Antwort4

Sie können in Notepad++ im Spaltenmodus arbeiten. Die Option befindet sich im Menü „Bearbeiten“. Wenn Sie darauf klicken, wird Ihnen die richtige Tastenkombination angezeigt. Ich halte die Alt-Taste gedrückt und wähle dann die Daten aus, die ich löschen/bearbeiten möchte.

verwandte Informationen