【发布时间】:2018-12-07 20:01:18
【问题描述】:
检查下面的代码。我试图找到\\ 并用\ 单反斜杠替换,但似乎Replace() 方法不能做到这一点。我在test2 变量上一直得到相同的结果。
我该如何解决这个问题?
string test1 = "C:\\Users\\lik\\Desktop\\foo\\BacklogExcelGenerator\\bin\\Debug\\foo.xlsx";
string test2 = test1.Replace("\\", @"\");
【问题讨论】:
-
在 C# 字符串中,\\ 是您表示单个 \ 的方式,因此您的尝试可能没有必要。 (如果您在调试器中查看 test1,您会再次看到 \\ 但实际上 - 当您在其他地方打印或显示字符串时 - 只有一个 \ 存在)
-
但是
"\\"是一个单斜杠... -
是的,
test1不包含任何双反斜杠。请注意,C# 调试器喜欢向您展示“您必须在 C# 源代码中为字符串文字编写的内容”,而不是“字符串的确切当前内容”。因此,如果这就是您正在寻找和发现问题的地方,那就不是真实的。 -
通常在表达路径时,我们会使用
@符号来指示包含的文本是字符串文字:@"C:\Users\lik\Desktop\foo\BacklogExcelGenerator\bin\Debug\foo.xlsx" -
@John Doe ,我运行了您编写的代码,请再次确认它是否正常工作,它对我来说是完美的工作。这是镜头:ibb.co/XyLsh49
标签: c#