如何在第一个数字后拆分街道地址



我不知道如何解决这个问题,但我需要将字符串分成两部分。以下面的字符串为例:

North Street 57A 1floor

我需要把这个分成两部分。第1部分";北大街57〃;以及第2部分";1楼";

但是如果地址只是";北大街57〃;那么我根本不需要拆分字符串,所以这里的关键是识别街道号码的第一次出现是只有数字还是数字和字符的组合(57A(

我有很多不同的地址名称,所以文本可能会有所不同。这能实现吗?

如果您总是想在数字第一次出现后进行拆分,可以使用正则表达式。

下面是一个完整的例子:

string input = "North Street 57A 1floor";
var regex = new Regex(@"(?<=d)(?=D)");
var parts = regex.Split(input, 2);
foreach (var part in parts)
Console.WriteLine(part);

输出:

North Street 57
A 1floor

模式(?<=d)(?=D)在一个数字串之后获得位置。然后,我们使用Regex.Split(string input, int count),其中count=2确保它最多返回两个部分。

在线试用

最新更新