Remotely/Shared/Extensions/StringExtensions.cs
2023-07-21 10:16:29 -07:00

42 lines
982 B
C#

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);
}
}