using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Remotely.Shared.Extensions; public static class StringExtensions { public static string SanitizeFileName(this string fileName) { if (string.IsNullOrWhiteSpace(fileName)) { return string.Empty; } var invalidChars = Path.GetInvalidFileNameChars(); var validChars = fileName .Where(x => !invalidChars.Contains(x)) .ToArray(); return new string(validChars); } public static string SanitizeFileSystemPath(this string path) { if (string.IsNullOrWhiteSpace(path)) { return string.Empty; } var invalidChars = Path.GetInvalidPathChars(); var validChars = path .Where(x => !invalidChars.Contains(x)) .ToArray(); return new string(validChars); } }