|
@@ -157,18 +157,24 @@ namespace MediaBrowser.Controller.Resolvers
|
|
|
|
|
|
// Normalize
|
|
|
// Remove whitespace
|
|
|
- filename = filename.Replace("-", string.Empty);
|
|
|
- filename = filename.Replace(".", string.Empty);
|
|
|
- filename = Regex.Replace(filename, @"\s+", "");
|
|
|
+ filename = filename.Replace("-", " ");
|
|
|
+ filename = filename.Replace(".", " ");
|
|
|
+ filename = filename.Replace("(", " ");
|
|
|
+ filename = filename.Replace(")", " ");
|
|
|
+ filename = Regex.Replace(filename, @"\s+", " ");
|
|
|
|
|
|
var prefixes = new[] { "disc", "cd", "disk", "vol", "volume" };
|
|
|
|
|
|
+ filename = filename.TrimStart();
|
|
|
+
|
|
|
foreach (var prefix in prefixes)
|
|
|
{
|
|
|
if (filename.IndexOf(prefix, StringComparison.OrdinalIgnoreCase) == 0)
|
|
|
{
|
|
|
var tmp = filename.Substring(prefix.Length);
|
|
|
|
|
|
+ tmp = tmp.Trim().Split(' ').FirstOrDefault() ?? string.Empty;
|
|
|
+
|
|
|
int val;
|
|
|
if (int.TryParse(tmp, NumberStyles.Any, CultureInfo.InvariantCulture, out val))
|
|
|
{
|