我有一个"简单"的字符串替换问题.
我有一个未知数量的字符串遵循类似的系统:
'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
问题在于您尝试将反斜杠存储为文件名,这是不可能的.如果您可以这样做,计算机将如何知道您是否尝试访问目录或文件?
您最好的选择是用另一个字符替换反斜杠.您似乎使用标准的Base64字母表,因此我建议使用字符" - ",因为它是一个不用作Base64编码一部分的常见字符.
uniqueID.Replace(@"\", "-");
Run Code Online (Sandbox Code Playgroud)
该字符可以替换为常规Base64中未使用的大量其他字符(*._〜etc).
但是,在尝试解释时,请务必使用反斜杠替换该字符!
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |