Veröffentlicht Sun, 10 Sep 2023 07:52:34 GMT von Nicolas Nalmpantis
Hallo zusammen,

ich habe eine Spalte mit Strasse + Hausnummer. Zur weiteren Verarbeitung per Webservice muss ich ich das trennen. Die Straße soll in die Spalte Straße und die Hausnummer in die Spalte Hausnummer.

Gibt einen einfachen Weg in den Einstellungen dafür?

Oder im WF Designer per Datenzuweisen, weiß jemand den Ausdruck dafür? 

Danke vorab

Gruß
 

Nico
Veröffentlicht Mon, 11 Sep 2023 08:48:02 GMT von Simon H. Hellmann Toshiba Tec Germany Imaging Systems GmbH IT-Consultant Document Management Solutions
Hallo Nico, 

die sinnvollste Variante wäre, die Daten von vorneherein getrennt abzufragen und zu speichern. Eine Trennung ist nie mit 100% Genauigkeit möglich.

Hier der Grund, weshalb das so ist: Die meisten Anschriften entsprechen dem Format Dorotheenstraße 101 , da kann man einfach mit String.Split() im Workflow Designer (Arithmetischer Ausdruck) anhand des Leerzeichens trenen.
Das geht aber nicht grundsätzlich so. Wenn jemand vergisst das Leerzeichen einzutragen, verursacht das Workflowfehler.

Hast du eine Straße wie Unter den Linden 77, funktioniert das trennen anhand eines Leerzeichens auch nicht mehr. Wenn du sagst, du trennst immer anhand des letzten Leerzeichens, hast du ein Problem mit Hausnummern mit Buchstaben, wo jemand ein Leerzeichen zwischenschreibt, z.B. Scharrenstraße 16 a , dann hast du als Hausnummer nur a.

Also suchen wir uns doch mit Regex die ersten Ziffern und betrachten die Ziffern und alles folgende als Hausnummer, oder?
Viel Spaß dabei mit der Straße des 17. Juni 106-108.

Ich hoffe, das hilft etwas weiter. 

Gruß aus Neuss,
Simon H. Hellmann
DocuWare System Consultant
 
Veröffentlicht Mon, 11 Sep 2023 15:00:09 GMT von Gerardo Lisanti Team Leader Product Management
Hallo Nico, hallo Simon,

ich habe ein wenig recherchiert. Mit diesem Regex scheint es zu klappen: [0-9]{1,5}[/ \- 0-9 a-z A-Z]*

Damit sollte man ab version 7.9 im Workflow mithilfe der neuen Regex Funktionen die Hausnummer herausfiltern können.
Ich nutze dafür Regex.Match():
Regex.Match(DW_ADRESSE,"[0-9]{1,5}[/ \- 0-9 a-z A-Z]*",false,false,true)

Um die Straße zu erhalten nutze ich Regex.Replace(), um die zuvor identifizierte Hausnummer aus dem String mit "" zu ersetzen:
Regex.Replace(DW_ADRESSE,"(GV_HausNr)","",true)

Die Testergebnisse sehen vielversprechend aus:

Straße des 17. Juni 106-108
  • 106-108
  • Straße des 17. Juni 
Straße des 17. Juni 12/c
  • 12/c
  • Straße des 17. Juni
Stuttgarter Strasse 22 - 24 A
  • 22 - 24 A
  • Stuttgarter Strasse
Hauptstraße 22-1
  • 22-1
  • Hauptstraße
Blümchenweg 3
  • 3
  • Blümchenweg


Viele Grüße / With best regards,

--

Gerardo Lisanti
Team Leader Product Management  |  DocuWare GmbH
Veröffentlicht Thu, 21 Sep 2023 09:01:03 GMT von Nicolas Nalmpantis
Hallo zusammen,

vielen Dank für die Lösungsvorschläge. Regex sieht gut aus, ich werde es testen.

Vielen Dank!

Gruß

Nico

 
Veröffentlicht Sun, 10 Dec 2023 16:01:05 GMT von Nicolas Nalmpantis
Hallo Gerardo,

die Regexlösung funktioniert bisher wunderbar, nochmals vielen Dank!

Gruß

Nico
 

Sie müssen angemeldet sein um Beiträge in den Foren zu erstellen.