Строка EscapeData экранирует DirectorySeperator и VolumeSeperator - PullRequest
0 голосов
/ 08 мая 2020

Есть ли лучший способ сделать это? Я хочу экранировать специальные символы, но не хочу экранировать ":" и "\". I tried using EscapeUriString but it escaped "\\"and did not escape "$"

E.g->path = "C:\\TestArea\\WorkFlow Documents\\Sample $ Folder\\Storage Folder\\Github Folder\\Sample File.docx";

// This method works but is their more better way of doing it
 public static string EscapeandReplace(string path)
 {
     const string Backspace = "%5C";
     const string VolumeSeperator = "%3A";
     path = Uri.EscapeDataString(path);
     path = Regex.Replace(path, VolumeSeperator, Path.VolumeSeparatorChar.ToString(), RegexOptions.IgnoreCase);
     return Regex.Replace(path, Backspace, Path.DirectorySeparatorChar.ToString(), RegexOptions.IgnoreCase);
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...