替换C#中的文本字符串

时间:2014-03-13 16:38:10

标签: c# string escaping

嗨我有一个基本错误,因为我不看是如何修复代码:

string code = 'dsad {"scans": dssadasd';
code = code.Replace('{"scans":','test');

问题是由于第一次替换中的奇怪字符而导致失败

任何人都可以帮助我吗?

pd:

抱歉,这里有原来的行,我忘记了节目,因为我必须对此行做同样的事情:

code = code.Replace('"(.*?)": {"detected": (.*?), "version": (.*?), "result": (.*?), "update": (.*?)}','test');

7 个答案:

答案 0 :(得分:4)

  1. 在你的第一个字符串中,你应该:

    • 使用\来转义字符串中的双引号;
    • 使用@添加字符串,并使用""

      进行转义
       string code = "dsad {\"scans\": dssadasd";
       string code = @"dsad {""scans"": dssadasd";
      
  2. '字符用于分隔char,而不是字符串。您应该使用"代替。

    code = code.Replace("{\"scans\":","test");
    

答案 1 :(得分:2)

你必须scape字符串

string code = "dsad {\"scans\": dssadasd";
code = code.Replace("{\"scans\":","test");

答案 2 :(得分:0)

这不是可编译的C#。字符串在C#中始终是双引号:

string code = "dsad {\"scans\": dssadasd";
code = code.Replace("{\"scans\":", "test");

C#不是JavaScript :)

答案 3 :(得分:0)

该代码不是有效的C#。您需要使用双引号来表示字符串并转义字符串中的双引号:

string code = "dsad {\"scans\": dssadasd";
code = code.Replace("{\"scans\":","test");

答案 4 :(得分:0)

请改为尝试:

    string code = "dsad {\"scans\": dssadasd";
    code = code.Replace("{\"scans\":", "test");

干杯

答案 5 :(得分:0)

你需要逃避双引号。

string code = "dsad {\"scans\": dssadasd";
code = code.Replace("{\"scans":',"test");

答案 6 :(得分:0)

你需要逃避双引号。

string code = "dsad {\"scans\": dssadasd";
code = code.Replace("{\"scans\":", "test");

您还需要使用双引号而不是string s的单引号 - 单引号仅适用于C#中的char值。