namespace Common.Extensions; /// /// Extensions for the string object type /// public static class StringExtensions { /// /// Determines whether this string contains the specified string. Not case sensitive. /// /// The source. /// The contained. public static bool ContainsIgnoreCase(this string source, string contained) { return source?.IndexOf(contained, StringComparison.InvariantCultureIgnoreCase) >= 0; } /// /// Expands a path containing a wildcard pattern /// /// /// public static IEnumerable ExpandPath(this string self) { var parts = self.Split(Path.DirectorySeparatorChar); var fileName = parts.Last(); if (fileName.Contains('*') || fileName.Contains('?')) { // Path contains file pattern var path = Path.Combine(parts.SkipLast(1).ToArray()); return Directory.EnumerateFiles(path, fileName); } // Path contains no pattern return new[] { self }; } }