Ich möchte aus vielen .txt-Dateien bestimmte Daten in Notepad ++ extrahieren. Es hat viele Daten in einer Datei, aber ich brauche nur bestimmte ...
So sieht eine Datei aus:
© Q Ńü Vý 8 ź) G '' \ Y '' w '' K '' K '' G '' Z '' (\ Y
SCfsfgh4GHGH1 + € ‡ Ş €? ° € ¸ € k € PS 3: ÜBERTRAGUNGSDATEI erstellt mit Modelliererversion 1101322 SCH_900000_9008 @ Ź @
Und ich muss das extrahieren:
A233
TIPP: Vor dem Vorzeichen ist ein Leerzeichen (-A233). Außerdem hat jede Datei neben dem Buchstaben A eine andere Nummer
In der Originaldatei sieht das so aus (viele Leerzeichen werden per Copy-Paste extrahiert):
notepad++
regex
find-and-replace
extract
kiki1989sb
quelle
quelle
| -
davor?Antworten:
Sie können Ersetzen (Strg-H) mit den folgenden verwenden:
Finde was:
.*? -(A\d+)
Ersetzen mit:
\1\n
Aktivieren Sie das Kontrollkästchen für ".matches newline", wenn diese in Ihren Dateien vorhanden sind
Erläuterung:
.*? -
- Findet alles bis zu "-", einschließlich eventueller Zeilenumbrüche(A\d+)
- Definiert eine Erfassungsgruppe, die A findet, unmittelbar gefolgt von 1 oder mehr Zahlen\1\n
- Ersetzt Übereinstimmungen durch die erfasste Nummer und eine neue Zeile zum TrennenSie können das
\n
mit dem Begrenzer Ihrer Wahl austauschenBeachten Sie, dass dadurch nach der letzten Übereinstimmung kein Text gelöscht wird. Da Sie sich jedoch bereits in einem Texteditor befinden, ist das Löschen trivial.
quelle
Da Sie viele TXT-Dateien haben, ist es sinnvoll, eine einfache Automatisierung durchzuführen, anstatt die Werte aus jeder Datei manuell zu extrahieren. Ich schlage vor, das folgende WSH VBScript zu verwenden:
Fügen Sie diesen Code einfach in den Notizblock ein, speichern Sie ihn als Textdatei und ersetzen Sie die
.txt
Dateierweiterung manuell durch.vbs
. Dann müssen Sie nur noch Ihre Textdateien im Explorer-Fenster auswählen und per Drag & Drop auf das Skript ziehen.Für die Dateien, die Sie freigegeben haben, hat ich die Ausgabe wie folgt:
quelle