文字列の番地と番地を取得するには正規表現が必要です。通りの名前が最初から始まり、空白の後に数字が続くまで考えてみましょう
例:
元の文字列: 'Jan van Rijswijcklaan 123' 結果: 通り名として 'Jan van Rijswijcklaan'、番地として '123'。
どんな助けでも大歓迎です。
アップデート
通りの名前と番号を取得できましたが、「123b a1」のような番地があった場合、コードは番地の定義に失敗しました。その結果、番地は「123b a1」ではなく「a1」のみになりました。
したがって、現時点では2つのシナリオを扱っています。
- 通り名にアルファベットのみが含まれ、番号に数字のみが含まれる場合 - 「Jan van Rijswijcklaan 123」のように
- 通り名に英字のみが含まれ、数字に英数字が含まれる場合 - 「Jan van Rijswijcklaan 123b a1」のように
これが私が試したコードです:
string street = Regex.Match(streetWithNum, @"^[^0-9]*").Value + ";";
string number = Regex.Match(streetWithNum, @"\w\d*\w?\d*$").Value + ";";