【问题标题】:Replace substring not working [duplicate]替换子字符串不起作用[重复]
【发布时间】:2013-05-09 16:17:11
【问题描述】:

我在 asp.net mvc 中工作。想将\ 字符替换为/ 字符。但它不起作用。 让

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

第二行出现错误。请帮助如何更换。

【问题讨论】:

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


【解决方案1】:

试试这个:

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

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

【讨论】:

  • 或者在字符串前面使用@,使其成为逐字字符串。
  • +1,你比我快 20 秒哈哈
  • @Raver0124: :) LOL 它发生了(对我来说也是)。 :}
  • @TiesonT.:+1 表示关于另一种方法的绝妙观点。我只是倾向于逃避反斜杠,因为在 C 年前如此多地接触"\0"。 :}
【解决方案2】:

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

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

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

【讨论】:

    【解决方案3】:

    您需要转义反斜杠。最简单的方法是在你的字符串前面加上 @:

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

    另一种方法是用另一个反斜杠对其进行转义:

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

    【讨论】:

      【解决方案4】:

      试试这个

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

      【讨论】:

        【解决方案5】:

        \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"
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-09-07
          • 2017-07-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-06-23
          • 2018-08-26
          • 2013-09-14
          相关资源
          最近更新 更多