替换子字符串不起作用

时间:2013-05-15 07:27:22

标签: asp.net asp.net-mvc string replace

我在asp.net mvc工作。想要将\字符替换为/字符。但它没有用。 让

string path="D:\Qamar\Cartoons\Image.jpg";
path=path.Replace("\","/");

我在第二行得到错误。请帮助如何更换。

5 个答案:

答案 0 :(得分:4)

试试这个:

string path="D:\Qamar\Cartoons\Image.jpg";
path=path.Replace("\\","/");

你需要在第一个参数中转义反斜杠,以便将其视为......反斜杠(即"\\"而不是"\")。

答案 1 :(得分:1)

你需要逃避反斜杠。最简单的方法是在字符串前加上@:

path=path.Replace(@"\","/");

另一种方法是使用另一个反斜杠来逃避它:

path=path.Replace("\\","/");

答案 2 :(得分:1)

试试这个

th=path.Replace("\\","/")

答案 3 :(得分:0)

\是c#中字符串文字中的特殊转义字符。 您可以在字符串前面添加@以使其逐字显示,或者使用其他\转义\

path=path.Replace(@"\","/");

path=path.Replace("\\","/");

答案 4 :(得分:0)

\escape character,因此您的代码甚至无法编译使用@\\来编译代码。然后它会工作

string path=@"D:\Qamar\Cartoons\Image.jpg";
path=path.Replace(@"\","/");

string path="D:\\Qamar\\Cartoons\\Image.jpg";
path=path.Replace("\\","/");

但如果你正在使用Path或URI,你可以使用内置的C#方法来完成它,如下所示

System.Uri uri1 = new Uri(@"D:\Qamar\Cartoons\Image.jpg");
string whatYouWant = uri1.AbsolutePath; //Result is: "D:/Qamar/Cartoons/Image.jpg"