街道名称中的地址信息
本文关键字:地址 信息 街道 | 更新日期: 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()));
我必须将匹配的字母和数字分开,以包含可能的空格。