Skip to content
A small function to divide a complete streetname incl. house number and affix into its parts - mainly for German street names. Written in Kotlin, tested with Spock (Groovy)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
build.gradle Getting Sign on jars Jun 19, 2019
settings.gradle initial Dec 17, 2017

This library is able to divide (German) a concatenated street names consisting of the pure street name, the house number, and its affix into its single parts.

Some streets contain a number as suffix or infix themselves so that it is impossible to decide whether this number is a house number or belongs to the street name. An example is "Straße 101" in Berlin. At first glance this seems to be a street "Straße" with house number "101", but in reality the number "101" is part of the street name. To make this decision unambiguous the street "Straße 101" is added to a list of "special streets". This list can be found in the file "specialstreets.txt" and can/must be updated periodically.

More Examples:

input street house no affix
Gartenstr. 25a Gartenstr. 25 a
Brückenstr. 12a-13c Brückenstr. 12 a-13c
Straße 101 Nr. 12 Straße 101 12
C 3 54 C 3 54
In den 30 Morgen 34b In den 30 Morgen 34 b

In the examples above you can see the very strange street names of the city Manheim. The inner of the city in organized as a matrix with names like A4 or C3.


val streetDivider = StreetDivider()
println(streetDivider.parse("Gartenstr. 25a"))

-> Location(street=Gartenstr., houseNumber=25, houseNoAffix=a)

Try it out

You can download (downloads/streetdivider.jar) a small executable jar with UI and test the street decomposition with your own street names...


You can’t perform that action at this time.