我需要一个正则表达式来检索字符串的街道和街道号码。让我们考虑街道名称从头开始直到有一个空格后跟一个数字
例子:
原始字符串:'Jan van Rijswijcklaan 123' 结果应为:'Jan van Rijswijcklaan' 作为街道名称,'123' 作为街道编号。
任何帮助表示赞赏。
更新
我能够获得街道名称和号码,但有时我有像“123b a1”这样的街道号码,然后代码无法定义街道号码。由于街道号码的结果只有“a1”而不是“123b a1”。
所以目前我正在处理两种情况:
- 当街道名称仅包含字母字符且数字仅包含数字时 - 例如“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 + ";";