Guten Morgen,
ich würde gerne wissen, wie ich Straßennamen aufteilen kann, also in Straße und Hausnummer.
Ich habe schon diverse Seiten durchsucht und bin auf nichts konkretes gestoßen.
RegEx, Pattern usw habe ich ausprobiert, komme da aber nicht ganz klar, bzw habe ein paar Fragen.
Mein erster Ansatz war, die Straße in einer for schleife nach den Charaktern abzufragen und dann zu gucken ob es die erste zahl ist oder nicht,...
Ich bin mir sicher, es geht leichter und übersichtlicher via RegEx.
Meine Frage ist nun, ob damit schon jemand Erfahrung gemacht hat und ob mir jemand Tipps geben kann, denn es gibt soooo schöne Straßennamen, die einen wieder alles auf den Haufen werfen können.
Es geht wirklich nur um die Straßennamen, keine PLZ oder ORT, nur Straßennamen.
Bin über jeden Tipp dankbar.
ich würde gerne wissen, wie ich Straßennamen aufteilen kann, also in Straße und Hausnummer.
Ich habe schon diverse Seiten durchsucht und bin auf nichts konkretes gestoßen.
RegEx, Pattern usw habe ich ausprobiert, komme da aber nicht ganz klar, bzw habe ein paar Fragen.
Mein erster Ansatz war, die Straße in einer for schleife nach den Charaktern abzufragen und dann zu gucken ob es die erste zahl ist oder nicht,...
Java:
for( int index = 0; index < sStrasse.length(); index++ ) {
char aktuellerCharakter = sStrasse.charAt( index );
if( Character.isAlphabetic( aktuellerCharakter ) ) {
bWarBuchstabe = true;
}
if( bWarBuchstabe ) {
if( !bVonAnfangGesetzt && Character.isDigit( aktuellerCharakter )) {
iVonAnfang = index;
bVonAnfangGesetzt = true;
continue;
}
if(index == sStrasse.length()){
iVonEnde = index;
iBisAnfang = index;
iBisEnde = index;
continue;
}
if(bVonAnfangGesetzt && !bVonEndeGesetzt
&& (!Character.isDigit( aktuellerCharakter )
&& !Character.isAlphabetic( aktuellerCharakter)
&& !Character.isWhitespace( aktuellerCharakter )) ){
iVonEnde = index;
bVonEndeGesetzt = true;
continue;
}
}
Ich bin mir sicher, es geht leichter und übersichtlicher via RegEx.
Java:
Matcher m = Pattern.compile("\\d+").matcher(sStrasse);
while (m.find()) {
System.out.println(m.group());
System.out.println( m.start() ); // liest die Position der ersten Zahl aus
}
Meine Frage ist nun, ob damit schon jemand Erfahrung gemacht hat und ob mir jemand Tipps geben kann, denn es gibt soooo schöne Straßennamen, die einen wieder alles auf den Haufen werfen können.
Java:
static String[] strassen = new String[]{
"b 1" ,
"Markt 10",
"Albert-Einstein-Ring 15",
"Tornschauer Str. 7",
"Gersprenzweg 8a",
"Mühlenstraße 17-21",
"Neuendorferstr. 26",
"Westerende 12/13",
"Osterende 14 und 15",
"Schwalbenweg 12 ; 13 ; 14",
"Lerchenstraße 17 - 21",
"Straße des 17. Juni 105",
"Ackerweg 5 Hof 3 Gebäude 8",
"Norderdamm43",
"Schlehenweg 1 und 2",
"164-Ring 5",
"Gartenstraße 15 Seiteneingang"
};
Es geht wirklich nur um die Straßennamen, keine PLZ oder ORT, nur Straßennamen.
Bin über jeden Tipp dankbar.