街道名称中的地址信息

本文关键字:地址 信息 街道 | 更新日期: 2023-09-27 18:25:17

我需要什么:

对于输入:

Somestreet
Somestreet 12    
Somestreet 12 A    
Somestreet 12-14

输出:

Somestreet
Somestreet | 12
Somestreet | 12 | A 
Somestreet | 12 | - | 14

其中|是分隔符

我所做的:

var pattern = @"('d+)";
var regex = new Regex(pattern, RegexOptions.IgnoreCase);
var matchCollection = regex.Split(input);
var street = matchCollection[0];
if (matchCollection.Length > 1)
{
   houseNumber = matchCollection[1];
}
if (matchCollection.Length > 2)
{
   houseNumberLetter = matchCollection[2];
}

前三种情况可以,但第四种情况不行。

你能帮我吗?

街道名称中的地址信息

这行得通吗?

string result = string.Join(" | ", Regex.Matches(input, @"('w+|'-)").Cast<Match>().Select(d => d.Value));

更新

更好?

string result = string.Join(" | ", Regex.Matches(input, @"([a-zA-Z'. ]+|[0-9]+|'-)").Cast<Match>().Select(d => d.Value.Trim()));

我必须将匹配的字母和数字分开,以包含可能的空格。