您已匹配 URL,其中 Key - 旧 url 正则表达式和 Value - 新 url 替换模式。
您可以使用 Regex.Replace 方法,该方法接受 3 个字符串参数。
using System;
using System.Text.RegularExpressions;
class App
{
static void Main()
{
var input = "procurement-notice-1234.html";
var pattern = @"procurement-notice-(\d+).html";
var replacement = "/Bids/Details/$1";
var res = Regex.Replace(input, pattern, replacement);
Console.WriteLine(res);
// will output /Bids/Details/1234
}
}
因此,在您的情况下,代码可能如下所示:
var matchedURL = redirect.SingleOrDefault(d => Regex.Match(url, d.Key, RegexOptions.Singleline).Success);
if (matchedURL != null)
{
var result = Regex.Replace(url, matchedURL.Key, matchedURL.Value);
}