using System.Text.RegularExpressions;
public static void Main()
Console.WriteLine(ReplaceRouteValue("/Security/RolePermission/{roleId:int}/{permissionId:Guid}/ModuleAction", "10", "4BAA0953-3A7F-42FB-8FDF-FD589036EA76"));
Console.WriteLine(ReplaceRouteValue("/Security/RolePermission/{roleId}/ModuleAction", "20"));
public static string ReplaceRouteValue(string inputUrl, params object[] replaceText)
var pattern = @"\{(.*?)\}";
Regex regex = new Regex(pattern);
var match = regex.Matches(inputUrl);
inputUrl = ReplaceVersion(inputUrl);
foreach (var item in replaceText)
inputUrl = Regex.Replace(inputUrl, match[iteration].Value, item.ToString(), RegexOptions.IgnoreCase);
private static string ReplaceVersion(string inputurl)
return inputurl.Replace("{version:apiVersion}", "1");