Huhu,
Gibt es eine einfache Möglichkeit, Straßen- und Ortsnamen mit Bindestrich "-) korrekt in Groß-/Kleinschrift umzuformen?
Ich habe z.B. alles in Großbuchstaben:
OTTO-MEYER-STR. und will daraus Otto-Meyer-Str. machen.
Oder HAMBURG-ALTONA in Hamburg-Altona umwandeln.
Mit StringLower, OutputVar, InputVar , T kann ich ja den Titelmodus aktivieren, der sich aber
dummerweise nicht an die "-" hält. Die werden (logischerweise) als Zeichen betrachtet.
Löschen kann ich sie vorher nicht, da im Text andere Leerzeichen vorkommen können.
Grüße,
Gucky.
Straßen- und Ortsnamen korrekt schreiben
Moderator: jNizM
Re: Straßen- und Ortsnamen korrekt schreiben
StrSplit() gegen den bindestrich. Alle elemente be'titel'n. Elemente mit neuem bindestrich verbuxeln. Irgendwie so ...
Spoiler
PS. es werden noch RegExReplace-wetten angenommen Re: Straßen- und Ortsnamen korrekt schreiben
Klar Mann. StringSplit. Nicht dran gedacht.
Dank Dir XD
Gucky.
Dank Dir XD
Gucky.
Re: Straßen- und Ortsnamen korrekt schreiben
So, das Problem habe ich mit StringSplit gelöst.
Aber nun kommt eine 2. Sache dazu, an die ich nicht gedacht hatte:
Ich habe z.B. im Straßennamen möglicherweise Umlaute, muss also nach diesen ODER nach "AE", "OE" oder "UE" oder "ß" suchen.
Beispiel:
Schönebeckerstr. => Schoenebeckerstr.
Ich denke, dass das mit RegEx geht, nur wie?
Sicher kein 1 Zeiler?
Aber nun kommt eine 2. Sache dazu, an die ich nicht gedacht hatte:
Ich habe z.B. im Straßennamen möglicherweise Umlaute, muss also nach diesen ODER nach "AE", "OE" oder "UE" oder "ß" suchen.
Beispiel:
Schönebeckerstr. => Schoenebeckerstr.
Ich denke, dass das mit RegEx geht, nur wie?
Sicher kein 1 Zeiler?
- hoppfrosch
- Posts: 443
- Joined: 07 Oct 2013, 04:05
- Location: Rhine-Maine-Area, Hesse, Germany
- Contact:
Re: Straßen- und Ortsnamen korrekt schreiben
Code: Select all
; #### Lösung 1 ######
str := "Schönebeckerstr."
; Jede Ersetzung einzeln durchführen
str := RegExReplace(str, "ö", "oe")
str := RegExReplace(str, "ä", "ae")
str := RegExReplace(str, "Ö", "oe")
MsgBox(str)
; #### Lösung 2 ######
str := "Odenwälderstr."
; Alle Ersetzungen in einem assoziativen Array definieren
ReplacePatterns := {"ö": "oe", "ä": "ae", "Ä": "Ae"}
For key, value in ReplacePatterns
str := RegExReplace(str, key, value)
MsgBox(str)
Re: Straßen- und Ortsnamen korrekt schreiben
Das sieht ja gut aus.
Mit RegEx hatte ich auch herumgespielt, da ich jedoch nicht nur die 4 Umlaute ersetzen will/muss, wären das einige RegExe´s geworden.
Dein Vorschlag mit dem Array sieht da deutlich kürzer aus XD
Lieben Dank dafür,
Gucky
Mit RegEx hatte ich auch herumgespielt, da ich jedoch nicht nur die 4 Umlaute ersetzen will/muss, wären das einige RegExe´s geworden.
Dein Vorschlag mit dem Array sieht da deutlich kürzer aus XD
Lieben Dank dafür,
Gucky
Re: Straßen- und Ortsnamen korrekt schreiben
Moin,
wenn Du die Zeichen einzeln ersetzt, sollte das StrReplace() auch (und wahrscheinlich sogar schneller) tun.
wenn Du die Zeichen einzeln ersetzt, sollte das StrReplace() auch (und wahrscheinlich sogar schneller) tun.
Re: Straßen- und Ortsnamen korrekt schreiben
Davon gehe ich auch aus, da RegEx i.A. langsamer ist, so weit ich weiß.
Who is online
Users browsing this forum: No registered users and 6 guests