围绕这个似乎有很多问题,但我找到的那些似乎都不适合我。
我的代码:
string subFolderName = category = "Parent/Sub\\Sub sub";
string category = subFolderName.Replace(@"\\", @"/");
这会将category
作为与subFoldername
相同的字符串返回,即:
"Parent/Sub\\Sub sub".
我真正想要的是:
"Parent/Sub/Sub sub"
答案 0 :(得分:6)
试试
string category = subFolderName.Replace(@"\", @"/");
它会起作用,因为category = "Parent/Sub\\Sub sub";
包含一个\
答案 1 :(得分:2)
正如Damien_The_Unbeliever在 comment 中所说,当您将"Parent/Sub\\Sub sub"
写为字符串时,实际上它只包含一个\
字符。因此,String.Replace
方法无法在字符串中找到\\
。
当您使用 verbatim string literal 时,您的字符串将完全您的编写方式。
string subFolderName = category = @"Parent/Sub\\Sub sub";
string category = subFolderName.Replace(@"\\", @"/");
Console.WriteLine(category);
Outpuw将是;
Parent/Sub/Sub sub
这是DEMO
。
答案 2 :(得分:1)
您如何看待类别的内容?如果您正在使用VS调试器,那么它将转义字符串,因此字符串中的\
将显示为\\
所以你需要
string category = subFolderName.Replace(@"\", @"/");
或
string category = subFolderName.Replace("\\", "/");
答案 3 :(得分:1)
string category = subFolderName.Replace(@"\", "/");
使用此功能。