我有一个包含反斜杠的字符串,我想用正斜杠回复它
string filename = "te\test";
var x = filename.Split('\\');
Console.WriteLine(filename);
Console.ReadLine();
我尝试了类似这样的东西但它得到了相同的字符串" te \ test"进入x。
还有其他办法吗?
答案 0 :(得分:3)
原始字符串不是:
te\test
它' S:
te{tab}est
\t
是制表符。因此,您不能在\
上拆分,因为原始字符串没有\
如果您这样做:
string filename = "te\\test";
var x = filename.Split('\\');
Console.WriteLine(string.Join("/",x));
您将获得所需的结果。
但是,当你只能Split
时,你真的不需要Join
和Replace
:
Console.WriteLine(filename.Replace('\\','/'));
注意:您可以将@
与原始字符串一起使用,使其成为文字字符串(转义被忽略),如@ Joeb454所暗示的那样(而且这通常是我所做的),但是不幸的是,同样的技巧并不适用于字符,所以你不能做@'\'
。
答案 1 :(得分:2)
你的初始字符串似乎是错误的,你正在逃避't',给你一个制表符,它应该是string filename = "te\\test";
您也可以将其声明为string filename = @"te\test";
- 在带有@符号的字符串前面向编译器指示它是文字字符串,因此不会转义任何内容。
答案 2 :(得分:0)
string filename = "te\test";
string[] x = filename.Split('\\');
Console.WriteLine(filename);//this line should be Console.WriteLine(x[0]+X[1]);
Console.ReadLine();
但我认为你在寻找
filename = filename.Replace("\\","/");
Console.WriteLine(filename);