using System; using System.Text.RegularExpressions; namespace MediaBrowser.Server.Implementations.Library { public static class PathExtensions { /// /// Gets the attribute value. /// /// The STR. /// The attrib. /// System.String. /// attrib public static string GetAttributeValue(this string str, string attrib) { if (string.IsNullOrEmpty(str)) { throw new ArgumentNullException("str"); } if (string.IsNullOrEmpty(attrib)) { throw new ArgumentNullException("attrib"); } string srch = "[" + attrib + "="; int start = str.IndexOf(srch, StringComparison.OrdinalIgnoreCase); if (start > -1) { start += srch.Length; int end = str.IndexOf(']', start); return str.Substring(start, end - start); } // for imdbid we also accept pattern matching if (string.Equals(attrib, "imdbid", StringComparison.OrdinalIgnoreCase)) { var m = Regex.Match(str, "tt\\d{7}", RegexOptions.IgnoreCase); return m.Success ? m.Value : null; } return null; } } }