CSVfox
Leverage Your Data.
 Deutsch

±regex

Ändert den Inhalt eines CSV Tabellenfeldes mit Hilfe eines regulären Ausdrucks

Damit können Sie ein Feld mit Hilfe eines regulären Ausdrucks (regex) ändern.
Siehe auch https://wikipedia.org/wiki/Regular_expression.

Der Ausgangsausdruck, das Muster und die Ersetzung werden jeweils durch ein Trennzeichen (meist ein "/") getrennt. Es handelt sich also um eine dreiteilige Kombination.

Der Anfangsteil kann eine leere Zeichenkette, ein Feldinhalt oder ein komplexerer Ausdruck sein. Er wird aufgelöst, bevor der Regex-Mustervergleich stattfindet. Wenn Sie nur das aktuelle Feld selbst, ohne externe Komponenten, ändern möchten, können Sie [*] als Ausdrucksteil verwenden oder ihn einfach weglassen.

Der zweite Teil ist ein übliches Regex-Muster, das den üblichen Regex-Konventionen folgt.

Der dritte Teil beschreibt die Ersetzung, die der neue Feldinhalt sein wird. Die gesamte erfasste Regex-Gruppe wird mit $0 oder mit \0 zurückverwiesen, alle erfassten Untergruppen werden als $1 bis $9 oder als \1 bis \9 zurückverwiesen.
Ob "\" oder "$" verwendet werden sollte, hängt von den Anforderungen der Befehlszeile ab und davon, was von beiden einfacher eingegeben werden kann.
Schließlich wird auch dieser Teil als auflösbarer Ausdruck betrachtet und aufgelöst.

Wenn der Regex-Modifikator /i verwendet wird, wird bei der Mustererkennung die Groß- und Kleinschreibung nicht berücksichtigt.

Muster

±regex[Feld]=Ausdruck/Muster/Ersetzung ±regex/i[Feld]=Ausdruck/Muster/Ersetzung

Beispiele für die Verwendung

einige Beispiele hier ...

Nachstehende Minuszeichen korrigieren

Dies verschiebt alle nachgestellten Minuszeichen eines Betragsfeldes nach vorne, wenn die Felder nur eine Dezimalzahl, ein Minuszeichen und optional etwas Leerraum enthalten.

-regex[Price]=[*]/^\s*([0-9][0-9,.]*)([-])\s*$/\2\1

Sie tut Folgendes:

Ausdruck:
Der erste Teil [*] bezieht sich auf den Inhalt der aktuellen Spalte (die hier die Spalte "Price" ist).

Muster:
Das Regex-Muster zwischen den beiden Schrägstrichen beschreibt :
- den Anfang der Zeichenkette (^),
- vielleicht einige Leerzeichen (\s*),
- eine Gruppe von Zahlen und Trennzeichen (in Klammern, d.h. Gruppe 1),
- ein Minuszeichen (in Klammern, d.h. Gruppe 2),
- und vielleicht noch etwas Leerraum (\s*),
- und das Ende der Zeichenfolge ($).

Ersetzung:
Wenn der aktuelle Feldinhalt mit dieser Beschreibung übereinstimmt, wird er ersetzt durch
zuerst durch die Gruppe 2 (\2, die das Minuszeichen enthält)
und dann durch die Gruppe 1 (\1, die die Zahlen enthält).
Das Feld besteht jetzt also zuerst aus dem Minuszeichen und dann aus den Zahlen.
Das Leerzeichen ist verschwunden, weil es nicht in Gruppen erfasst und wieder in den Ersetzungsausdruck eingefügt wurde.


Under construction, coming soon