12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #pragma warning disable CS1591
- #pragma warning disable SA1600
- using System.Collections.Generic;
- using System.Text.RegularExpressions;
- namespace Emby.Naming.Video
- {
- /// <summary>
- /// http://kodi.wiki/view/Advancedsettings.xml#video
- /// </summary>
- public class CleanStringParser
- {
- public CleanStringResult Clean(string name, IEnumerable<Regex> 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;
- }
- }
- }
|