我需要查看我的地址是否包含某些分数,但不是全部。像Hwy 1/158这样的地址不应该匹配。现在我只是匹配到1 / 4,1 / 2,3 / 4。我可能会在以后根据数据添加到列表中,但是现在它将处理我的绝大多数问题。
目前我只是测试“1/2”,如此
if (Address.Contains("1/2"))
{
Address = Address.Replace("1/2", "");
Fraction = "1/2";
}
如何匹配多个分数,删除这些分数,保存分数匹配以便以后分配给分数?
答案 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;
});