using System.Text.RegularExpressions; namespace MileageTraker.Web.Utility { public static class NameNormalizer { private const string NamePattern = @"(?\w+),\s*(?\w+)(?:\s*)?(?(jr|sr|iii))?"; private static readonly Regex NameRegex = new Regex(NamePattern, RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace | RegexOptions.Compiled); public static string Normalize(string name) { var match = NameRegex.Match(name); if (!match.Success) return name; return string.Format("{0} {1} {2}", match.Groups["First"], match.Groups["Last"], match.Groups["Suffix"]).TrimEnd(); } } }