如何使字符串变量文字?

时间:2019-03-09 12:00:19

标签: c# string path escaping

您知道如何使用@符号对字符串文字进行“转义”或“转义”吗?

string foo = @"\escaped\string"

我在Internet上进行搜索,但找不到一种使字符串变量执行此操作的方法。如果您好奇为什么要这么做,这里有一些背景故事:

我正在为批处理脚本制作一个C#插件,该脚本将base64一个字符串并将其保存在文件中。但是,由于“路径名中的非法字符”之类的名称或这些行中的某些内容,我一直遇到错误。很自然地,我放弃了谷歌搜索,唯一可以找到的“修复”就是@字符串。但是,问题是,我没有一个简单的纯文本字符串变量。我获得了可执行文件的位置,然后将其放入变量中,因此可以在可执行文件所在的位置(同一文件夹)创建文件。而且,正如我之前所说,由于奇怪的路径错误,我无法做到这一点。我尝试了String.ReplaceRegex.Escape,但是它们都不起作用,因为当我调用该函数来获取位置时,似乎错误是正确的。作为参考,这是我用来获取可执行文件位置的“命令”。

System.IO.Path.GetDirectoryName( System.Reflection.Assembly.GetExecutingAssembly().Location)

是的,我确实尝试了其他技巧,例如AppDomain.CurrentDomain.BaseDirectory等,但似乎都没有效果。

有什么办法解决这个问题?我真的很沮丧,因为这应该很容易...

1 个答案:

答案 0 :(得分:1)

也许在处理字符串/路径操作时可以尝试使用静态方法Path.Combine