Ich versuche, nach einer Spalte in Notepad ++ alles loszuwerden. Der Spaltenmodus ist keine Option. Ist es möglich?
Was ich habe:
70.97.110.40 159 ms [n/a] 21
70.97.117.177 134 ms [n/a] 21
70.97.120.10 75 ms [n/a] 21
70.97.122.105 87 ms www.portless.net 21
70.97.122.106 89 ms www.popovetsky.org 21
70.97.122.107 95 ms www.psmythe.net 21
70.97.122.104 98 ms wasabi.prostructure.com 21
70.97.122.108 89 ms crm.prostructure.com 21
70.97.122.109 87 ms internal.prostructure.com21
Was ich möchte:
70.97.110.40
70.97.117.177
70.97.120.10
70.97.122.105
70.97.122.106
70.97.122.107
70.97.122.104
70.97.122.108
70.97.122.109
Antworten:
Wenn die Daten in der ersten Spalte niemals ein Leerzeichen enthalten, können Sie einen regulären Ausdruck suchen und ersetzen, um das zu erhalten, was Sie möchten.
Suchen Sie im regulären Ausdruck nach:
Und ersetzen mit
Was macht das?
^
zeigt an, dass eine Übereinstimmung am Anfang einer Zeile beginnen sollte.([^ ]*)
ist ein Ausdruck, der kein Leerzeichen enthält. Das Spiel ist gierig, daher wird alles bis zum ersten Leerzeichen (oder dem Zeilenende, je nachdem, was zuerst eintritt) abgeglichen..*
steht alles andere auf der linie.\1
bezieht sich auf den Teil des Matches innerhalb der Klammern. Das heißt, die gesamte Zeile wird nur durch das Bit aus der ersten Spalte ersetzt.quelle
Hier ist ein einfacher regulärer Ausdruck, mit dem Sie denselben Effekt erzielen können. Ersetzen
(Beachten Sie das führende Leerzeichen)
mit nichts. Dadurch wird alles nach dem ersten Leerzeichen gelöscht. Dies funktioniert, solange Ihren IP-Adressen niemals ein Leerzeichen vorangestellt wird (wie in Ihrem Beispiel).
quelle
[ \t].*
\s.*
ist kürzer. Vielleicht sogar verwenden\s+.*
, um eine willkürliche Menge an Leerzeichen zu erreichen, jetzt wo wir sind defensiv kodieren .Wenn Sie Windows verwenden und nichts dagegen tun, Leerzeichen nachzustellen (Sie können sie später finden / ersetzen), verwenden Sie die Blockauswahl Merkmal:
quelle
EIN regulären Ausdruck ist schneller, aber Sie können mit Makros wirklich komplizierte Dinge erledigen, wenn dies eine kompliziertere Aufgabe ist.
Sie könnten ein Makro aufnehmen:
Spielen Sie es dann ab:
quelle
Setzen Sie den Cursor nach
70.97.110.40
.Drücken Sie Alt , und ziehen Sie den Cursor nach rechts und unten, um den unerwünschten Teil auszuwählen.
Drücken Sie Rücktaste oder Löschen .
quelle
Hier sind ein paar alternative Methoden zur gegebenen Antwort.
Wenn Sie Daten haben
fixed width
können Sie auch Folgendes verwenden regulären Ausdruck bei der Suche:Finde was:
^(.{16}).*$
Ersetzen mit:
\1
Es ist großartig, wenn die Daten, die Sie behalten möchten, ein Leerzeichen enthalten, wie jemand erwähnt hat. Außerdem können Sie wieder Daten mit fester Breite verwenden
Column Mode Editing
. Dies ist eine nette kleine Funktion, mit der Sie mehrere Datenzeilen am selben Spaltenstandort bearbeiten können. Sehen Spaltenmodus bearbeiten .Es werden Pfeiltasten erwähnt, Sie können aber auch verwenden
Page Up/Down
für eine schnellere Methode sowieEnd
undHome
Schlüssel. Die Maus funktioniert auch. Sie können dies jedoch für eine Ad-hoc-Methode zum Löschen von Daten nach einem bestimmten Punkt verwenden, insbesondere wenn es sich nur um wenige Zeilen handelt. Es ist auch gut für das Kopieren von Daten, aber die Art und Weise, wie es eingefügt wird, ist ein bisschen seltsam, so dass Sie sich erst daran gewöhnen möchten.quelle
Ähnlich wie bei Entfegree:
Wenn sich am Ende der Datei eine leere Zeile befindet, drücken Sie einfach Aufwärtspfeil vor # 3.
Es ist nicht perfekt, aber praktisch.
quelle
quelle
Hier ist ein visueller Weg:
Dies ist nicht "spaltenbasiert". Es funktioniert nur, weil alle Ihre IP-Adressen übereinstimmen.
quelle
Suchen Sie im regulären Ausdruck nach:
\ t. *
Und ersetzen mit
Nichts
quelle
Löschen Sie alles nach der ersten Spalte in Notepad ++:
quelle