using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; public class Test { public static void Main() { var where = "ArrivalTime > DateTime.Now.AddMinute(-100) && ArrivalTime < DateTime.Now.AddMinute(100)"; var pattern = @"DateTime\.Now\.AddMinute\(([^()]*)\)"; var now = DateTime.Now; var res = Regex.Replace(where, pattern, x => { var val= x.Groups[1].Value; int min; if (int.TryParse(val, out min)) { var date = now.AddMinutes(min); return $"DateTime({date.Year}, {date.Month}, {date.Day}, {date.Hour}, {date.Minute}, 0)"; } else return x.Value; }); Console.WriteLine(res); } }