Feedback

C# - Adresse auf Hausnummer prüfen

Veröffentlicht von am 3/21/2016
(2 Bewertungen)
Die Funktion prüft, ob in einer Adresszeile eine Hausnummer enthalten ist.
Die Hausnummer kann maximal aus drei Ziffern bestehen.

Beispiele:

Königsweg 36b 90491 Nürnberg // true
Schillerstraße 90491 Düsseldorf // false
Amselweg 11 // true
Hansastraße 132b Bochum // true
Max Müller Bahnhofstraße 01099 Dresden // false

Eine hundertprozentige Lösung wird es nicht geben, aber mit dieser bin ich ganz gut gefahren.
static private bool ContainsHouseNumber(string address)
{
    var regex = new Regex("\\b\\d{1,3}[A-Za-z]?\\b");
    return regex.IsMatch(address);
}
Abgelegt unter Regex, Hausnummer, Adresse, Validierung.

7 Kommentare zum Snippet

Koopakiller schrieb am 3/22/2016:
Man sollte vielleicht erwähnen dass es nur bei Hausbummern mit bis zu 3 Ziffern funktioniert. Ich weiß nicht wie oft bei uns Vierstellige Hausnummern (ohne Buchstaben) vorkommen, aber in anderen Ländern sieht man sie ja schon hin- und wieder.
Und ich würde den Regex außerhalb der Methode instanziieren um bei mehrfachem prüfen nicht jedes mal den "Regex Parser" zu bemühen.
Jan Welker schrieb am 3/22/2016:
Ich habe den Hinweis ergänzt, danke.
Zum zweiten Punkt gebe ich dir auch Recht, ich lass es jetzt mal so. Das kann man dann bei Bedarf trennen.
Alexander Bernitz schrieb am 3/29/2016:
Es gibt auch Gegenden/Laender, in denen Hausnummern nicht ueblich sind. Ich muss bei Formularen mit Hausnummernzwang immmer eine falsche Adresse angeben.
Jan Welker schrieb am 3/29/2016:
Stimmt, die Methode ist nur für Deutschland gedacht.
hero4hire schrieb am 4/12/2016:
Der RegEx deckt schon einiges ab. Aber auch in Deutschland fällt noch einiges durch das Raster.

Straße des 17. Juli (Berlin),
Straße des 18. Oktober (Leipzig),
etc.
Harald M. Genauck schrieb am 4/13/2016:
Mit Adressen in der Mannheimer Innenstadt dürfte es auch Probleme geben ...
Jan Welker schrieb am 4/13/2016:
Wie ich oben schon geschrieben habe:

"Eine hundertprozentige Lösung wird es nicht geben, aber mit dieser bin ich ganz gut gefahren."
 

Logge dich ein, um hier zu kommentieren!