Mit RegEx kann man einmal "einfacher" komplexere Trennstrukturen definieren -> für Splittfunktionen, Stück für Stück von vorne das zerlegen und/oder mittendrin suchen,
oder man zerlegt damit gleich alles und lässt sich je Zeile die gewünschten Dinge als Gruppe liefern.
https://regex101.com/r/KmWkd8/5
Gruppe 9/10 sollten hier leer bleiben, außer eine Zeile wurde garnicht, bzw. nicht richtig gelesen.
Grundsätzlich kann man so die Gruppen nun nehmen und in die jeweiligen Spalten der
CSV übertragen.
Oder man nimmt es für ein RegEx-Replace und führt es per
Substitution via
$1;$2;$4;$5;$6;$7;$8
als
CSV zusammen.
z.B. #...#gm (Multiline)
Code:
^(Herr|Frau)? *((:?Dr\. |Prof\. |Dipl\.-Ing\. |med\. |rer\. |nat\. )*)?(.*)(?:, )?(.*)? mit (.+)/([A-Z0-9]{3}) \(([0-9]+)\): Terminplan\(([0-9]{2}:[0-9]{2})\ Uhr\)(.*)$|^(.*)$
bzw. #...#gmx (Multiline eXtended)
Code:
^
(Herr|Frau)?\s*
((:?
Dr\.\s
|Prof\.\s
|Dipl\.-Ing\.\s
|med\.\s
|rer\.\s
|nat\.\s
)*)
(.*)
\smit\s
(.+)/([A-Z0-9]{3})\s\(([0-9]+)\):
\sTerminplan
\(([0-9]{2}:[0-9]{2})\sUhr\)
(.*)
$
|
^(.*)$
mit
Code:
Herr Mustermann1 mit ABCDEFGHI/00A (1): Terminplan(08:00 Uhr)
Herr Mustermann2, Max mit ABCDEFGHI/00A (1): Terminplan(08:00 Uhr)
Herr Dr. Mustermann3 mit ABCDEFGHI/00A (1): Terminplan(08:00 Uhr)
Herr Dr. Mustermann4, Max mit ABCDEFGHI/00A (1): Terminplan(08:00 Uhr)
Herr Prof. Dr. Mustermann5 mit ABCDEFGHI/00A (1): Terminplan(08:00 Uhr)
Herr Prof. Dr. Mustermann6, Max mit ABCDEFGHI/00A (1): Terminplan(08:00 Uhr)
Herr Prof. Dr. rer. nat. Mustermann7, Max mit ABCDEFGHI/00A (1): Terminplan(08:00 Uhr)
Herr Prof. Dr. Dipl.-Ing. Hummel, Johann-Nepomuk mit ABCDEFGHI/00A (1): Terminplan(08:00 Uhr)
Frau Dr. Wespe, Natalie mit ABCDEFGHI/00A (1): Terminplan(08:00 Uhr)
Frau Dr. med. Müller-Lüdenscheid, Cleopatra mit Julius Cäsar/00A (1): Terminplan(08:00 Uhr)
Herr van Gogh, Vincent Willem mit Gustav Klimt/00A (1): Terminplan(08:00 Uhr)
Herr Wells, H. G. mit Böll, Heinrich/00A (1): Terminplan(08:00 Uhr)
[edit]
(?:, )?(.*)?
funktioniert so nicht.
Den Teil kann man auch weglassen ... war so geplant, dass
Nachname, Vorname
getrennt wird. (der Vorname steht aktuell in der Nachname-Gruppe mit drin)
Wenn es funktioniert, dann könnte man auch beim zweiten Namen noch soeine Trennung einfügen.
Und
Dipl.-Ing. und rer. nat.
fehlen auch noch, bei den Titeln. (dieser Titel rutscht daher aktuell mit in die Name- bzw. Nachname-Gruppe rein)
Irgendwas stimmt da auch noch nicht ... irgendwie steht aktuell nur die letzte Angabe in der Gruppe.
Es kann auch nicht schaden das mit den Leerzeichen nochmal bissl zu überarbeiten. (fällt z.B. bei den Titeln in der gezeigten Substitution auf)