AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CSV anpassen

Ein Thema von julchen · begonnen am 15. Jan 2021 · letzter Beitrag vom 26. Jan 2021
Antwort Antwort
Seite 5 von 5   « Erste     345   
Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#41

AW: CSV anpassen

  Alt 26. Jan 2021, 19:17
Das zu suchende ganze Wort ist mit vermutlich gefolgt von 'nem Leerzeichen und 'nem Doppelpunkt, meist wohl auch ein Leerzeichen davor.
  Mit Zitat antworten Zitat
julchen

Registriert seit: 20. Mär 2008
115 Beiträge
 
Delphi 10.3 Rio
 
#42

AW: CSV anpassen

  Alt 26. Jan 2021, 20:47
Mittermeier läuft

Wenigstens ein bisschen Glück heute Abend.
Kollegin: Am Wochenende wird mein PC immer langsamer! Liegt das am Strom?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#43

AW: CSV anpassen

  Alt 26. Jan 2021, 21:18
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)
$2B or not $2B

Geändert von himitsu (27. Jan 2021 um 00:21 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 5   « Erste     345   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz