在字符串C#中用"\\"替换'\'

Jal*_*mba 0 c# string replace

我有一个"简单"的字符串替换问题.

我有一个未知数量的字符串遵循类似的系统:

'W8D6m\2alNzPUW2d2m4V9EksLHg ='

注意字符串中的'\',我想要做的是让程序忽略它而不将其视为转义字符.从此代码中抛出错误

File.WriteAllText(Application.StartupPath + "\\Users\\" + UniqueID, NewUser.ToString());
Run Code Online (Sandbox Code Playgroud)

UniqueID是字符串变量,它保存抛出错误的部分,因为它认为斜杠的两边都是路径的一部分.所以我试图通过这样做来替换它:

UniqueID = UniqueID.Replace(@"\", "\\");
Run Code Online (Sandbox Code Playgroud)

然而,这也没有用,所以我试图弄清楚,如果字符串包含"\",我怎么能忽略程序(它需要在那里,所以一个简单的删除不能解决)

如果这一切都令人困惑,我需要做的是'W8D6m\2alNzPUW2d2m4V9EksLHg ='认为它是一个完整的路径,因为它是一个文件名,而不是一个文件夹.我希望这是一个文件的名称.一个例子就是http://prntscr.com/9tm9ed

Cla*_*vin 7

问题在于您尝试将反斜杠存储为文件名,这是不可能的.如果您可以这样做,计算机将如何知道您是否尝试访问目录或文件?

您最好的选择是用另一个字符替换反斜杠.您似乎使用标准的Base64字母表,因此我建议使用字符" - ",因为它是一个不用作Base64编码一部分的常见字符.

uniqueID.Replace(@"\", "-");
Run Code Online (Sandbox Code Playgroud)

该字符可以替换为常规Base64中未使用的大量其他字符(*._〜etc).

但是,在尝试解释时,请务必使用反斜杠替换该字符!