拆分包含反斜杠的字符串并替换为正斜杠

时间:2014-07-14 13:59:27

标签: c#

我有一个包含反斜杠的字符串,我想用正斜杠回复它

            string filename = "te\test";
            var x = filename.Split('\\');
             Console.WriteLine(filename);
            Console.ReadLine();

我尝试了类似这样的东西但它得到了相同的字符串" te \ test"进入x。

还有其他办法吗?

3 个答案:

答案 0 :(得分:3)

原始字符串不是:

te\test

它' S:

te{tab}est

\t是制表符。因此,您不能在\上拆分,因为原始字符串没有\

如果您这样做:

    string filename = "te\\test";
    var x = filename.Split('\\');
    Console.WriteLine(string.Join("/",x));

您将获得所需的结果。

但是,当你只能Split时,你真的不需要JoinReplace

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);