#pragma warning disable CS1591 #pragma warning disable SA1600 using System.Collections.Generic; using System.Text.RegularExpressions; namespace Emby.Naming.Video { /// /// . /// public class CleanStringParser { public CleanStringResult Clean(string name, IEnumerable expressions) { var hasChanged = false; foreach (var exp in expressions) { var result = Clean(name, exp); if (!string.IsNullOrEmpty(result.Name)) { name = result.Name; hasChanged = hasChanged || result.HasChanged; } } return new CleanStringResult { Name = name, HasChanged = hasChanged }; } private static CleanStringResult Clean(string name, Regex expression) { var result = new CleanStringResult(); var match = expression.Match(name); if (match.Success) { result.HasChanged = true; name = name.Substring(0, match.Index); } result.Name = name; return result; } } }