/ / In Notepad ++, wie ersetzen Sie alle Instanzen eines bestimmten Zeichens nach der X-Instanz PER LINE? - Regex, Notizblock ++

In Notepad ++, wie ersetzen Sie alle Instanzen eines bestimmten Zeichens nach der X-Instanz PER LINE? - Regex, Notizblock ++

Ich habe eine CSV, die ich versuche zu formatieren, aber die Eingabedaten haben viele Kommas als Anfang. Es wäre viel einfacher, wenn ich einfach alle Kommas auf einer gegebenen Zeile (NACH dem 4.) durch ein Semikolon ersetzen könnte.

Gibt es trotzdem eine einfache Suche / Ersetzen Regex, oder ist Programmierung erforderlich?

Antworten:

3 für die Antwort № 1

Der einfachste Weg (da die Rexes von Notepad ++ keine lookbehind-Assertionen variabler Länge unterstützen), um dies anzugehen, ist wahrscheinlich, dies in drei Schritten zu tun:

Ändern Sie zunächst die ersten vier Kommas in etwas Einzigartiges: Suchen Sie nach

^([^,]*),([^,]*),([^,]*),([^,]*),

und ersetzen durch 1#COMMA#2#COMMA#3#COMMA#4#COMMA#.

Ersetzen Sie dann alle Kommata durch Semikolons.

Zuletzt, ersetzen Sie alle #COMMA#s mit Kommas.

Dies setzt voraus, dass alle Zeilen mit Kommas mindestens vier von ihnen haben.


1 für die Antwort № 2

Sie sollten es mit einem Regex in find / replace tun können. Versuchen Sie Folgendes in Notepad ++:

Find what:    ([^,]*),([^,]*),([^,]*),([^,]*),
Replace with: 1,2,3,4;

Vergessen Sie nicht, das Optionsfeld Regulärer Ausdruck zu aktivieren.