| |
|
|
Erasmus.Herold | Hallo zusammen.
Hat jemand einen Ansatz, wie ich Straße und Hausnummer sauber trennen kann?
einfach: Domplatz 45
kompliziert: Von Grafen Straße 45 A Marktplatz 45A - C ...
Kann ich Zahlen in einem String erkennen lassen und sagen, alles vor der Zahl ist Straße alles mit und nach der Zahl ist Hausnummer?
Wer hat eine Idee mit Codebeispiel?
Danke euch - Erasmus |
|
|
| |
|
|
|
H.Brill | So in etwa ?
Declare String Strassen[]
Declare String nr, zusatz, strasse
Strassen[0] = "Domplatz 45"
Strassen[1] = "Von Grafen Straße 45 A"
Strassen[2] = "Marktplatz 45A - C"
Strassen[3] = "Hauptstrasse 12B"
Strassen[4] = "Hinter den Gärten 50 D"
Set("RegEx", 1)
WhileLoop 0, SizeOf(Strassen[]) - 1
Strasse = Match$("[a-zA-Z äÄöÖüÜß]{1,}", Strassen[&LOOP])
Nr = Match$("[0-9]{1,3}", Strassen[&LOOP])
zusatz = Mid$(Strassen[&LOOP], (%MatchPos + %MatchLen), 6)' 6 Stellen dürften reichen
Print "Straße : ", Strasse
Print "Nummer : ", Nr
Print "Zusatz : ", Trim$(zusatz)
EndWhile
WaitKey
Set("RegEx", 0)
End
|
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 11.05.2022 ▲ |
|
|
|
|
Erasmus.Herold | Das ist perfekt - danke dir ...
Wieso bedarf es des Umschaltens mit "RegEx"? |
|
|
| |
|
|
|
H.Brill | Das Match$() funktioniert auch ohne Umschalten. Steht ja auch so in der Hilfe bei Match$(). Bei den beiden Funktionen InStr() und Translate$() ist es Pflicht.
Ist aber so eine Eigenart von mir. Wenn ich reguläre Ausdrücke benutze, schalte ich automatisch mit Set("RegEx", 1) die reg. Ausdrücke ein, egal ob Match$(), InStr() oder Translate$(). |
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 12.05.2022 ▲ |
|
|
|