private bool IsEligibleForMultiVersion(string folderName, string testFilePath) { string testFilename = Path.GetFileNameWithoutExtension(testFilePath); if (testFilename.StartsWith(folderName, StringComparison.OrdinalIgnoreCase)) { // Remove the folder name before cleaning as we don't care about cleaning that part if (folderName.Length <= testFilename.Length) { testFilename = testFilename.Substring(folderName.Length).Trim(); } if (CleanStringParser.TryClean(testFilename, _options.CleanStringRegexes, out var cleanName)) { testFilename = cleanName.Trim().ToString(); } // The CleanStringParser should have removed common keywords etc. return(string.IsNullOrEmpty(testFilename) || testFilename[0] == '-' || testFilename[0] == '_' || Regex.IsMatch(testFilename, @"^\[([^]]*)\]")); } return(false); }
private bool IsEligibleForMultiVersion(string folderName, string?testFilename) { testFilename = Path.GetFileNameWithoutExtension(testFilename) ?? string.Empty; if (testFilename.StartsWith(folderName, StringComparison.OrdinalIgnoreCase)) { if (CleanStringParser.TryClean(testFilename, _options.CleanStringRegexes, out var cleanName)) { testFilename = cleanName.ToString(); } testFilename = testFilename.Substring(folderName.Length).Trim(); return(string.IsNullOrEmpty(testFilename) || testFilename[0].Equals('-') || testFilename[0].Equals('_') || string.IsNullOrWhiteSpace(Regex.Replace(testFilename, @"\[([^]]*)\]", string.Empty))); } return(false); }
/// <summary> /// Tries to clean name of clutter. /// </summary> /// <param name="name">Raw name.</param> /// <param name="namingOptions">The naming options.</param> /// <param name="newName">Clean name.</param> /// <returns>True if cleaning of name was successful.</returns> public static bool TryCleanString([NotNullWhen(true)] string?name, NamingOptions namingOptions, out string newName) { return(CleanStringParser.TryClean(name, namingOptions.CleanStringRegexes, out newName)); }
/// <summary> /// Tries to clean name of clutter. /// </summary> /// <param name="name">Raw name.</param> /// <param name="newName">Clean name.</param> /// <returns>True if cleaning of name was successful.</returns> public bool TryCleanString([NotNullWhen(true)] string?name, out ReadOnlySpan <char> newName) { return(CleanStringParser.TryClean(name, _options.CleanStringRegexes, out newName)); }
public bool TryCleanString(string name, out ReadOnlySpan <char> newName) { return(CleanStringParser.TryClean(name, _options.CleanStringRegexes, out newName)); }