#pragma warning disable CS1591 #nullable enable using System; using System.Collections.Generic; using System.Text.RegularExpressions; namespace Emby.Naming.Video { /// /// . /// public static class CleanStringParser { public static bool TryClean(string name, IReadOnlyList expressions, out ReadOnlySpan newName) { var len = expressions.Count; for (int i = 0; i < len; i++) { if (TryClean(name, expressions[i], out newName)) { return true; } } newName = ReadOnlySpan.Empty; return false; } private static bool TryClean(string name, Regex expression, out ReadOnlySpan newName) { var match = expression.Match(name); int index = match.Index; if (match.Success && index != 0) { newName = name.AsSpan().Slice(0, match.Index); return true; } newName = string.Empty; return false; } } }