Files
MileageTraker/Web/Utility/NameNormalizer.cs
T
2015-09-09 22:45:27 -04:00

19 lines
657 B
C#

using System.Text.RegularExpressions;
namespace MileageTraker.Web.Utility
{
public static class NameNormalizer
{
private const string NamePattern = @"(?<Last>\w+),\s*(?<First>\w+)(?:\s*)?(?<Suffix>(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();
}
}
}