提取地址分数以供以后在C#类中使用

时间:2014-11-07 15:25:22

标签: c# replace match street-address

我需要查看我的地址是否包含某些分数,但不是全部。像Hwy 1/158这样的地址不应该匹配。现在我只是匹配到1 / 4,1 / 2,3 / 4。我可能会在以后根据数据添加到列表中,但是现在它将处理我的绝大多数问题。

目前我只是测试“1/2”,如此

if (Address.Contains("1/2"))
{
    Address = Address.Replace("1/2", "");
    Fraction = "1/2";
}

如何匹配多个分数,删除这些分数,保存分数匹配以便以后分配给分数?

1 个答案:

答案 0 :(得分:1)

您可以使用Regex.Replace方法匹配多个模式,并使用其评估程序来保存匹配的元素:

var fractions = new[] { "1/2", "1/4", "3/4" };
var address = "Street 1/4";
List<string> matched = new List<string>();
string replaced = Regex.Replace(address, string.Join("|", fractions), match =>
{
    matched.Add(match.Value);;
    return string.Empty;
});