【问题标题】:How to remove "\" from the string如何从字符串中删除“\”
【发布时间】:2018-09-08 04:17:30
【问题描述】:
string value = "SELECT dbo.GetDefaultType(\"PartnerType\") AS default_answer;"

如何从上面的字符串中删除“\”。

here 和 试过了,

value.Replace(@"\", "");
value.Replace(@"\", string.Empty);

【问题讨论】:

  • 字符串值中没有反斜杠。只是用C#写的,告诉编译器后面的双引号属于字符串值。
  • 查看调试器中的放大镜以查看真正的字符串:SELECT dbo.GetDefaultType("PartnerType") AS default_answer;
  • \ 是转义字符,而不是反斜杠字符

标签: c# string replace slash


【解决方案1】:

我很确定您只是在调试器中看到了该值,它显示了字符串文字中的\。如果您单击放大镜,您会看到真正的字符串值:

SELECT dbo.GetDefaultType("PartnerType") AS default_answer; 

但要回答这个问题,如果字符串真的是(包括声明)

string value = "SELECT dbo.GetDefaultType(\"PartnerType\") AS default_answer;"

那么它可以用这个字面量初始化:

string value  = "string value = \"SELECT dbo.GetDefaultType(\\\"PartnerType\\\") AS default_answer;\"";

你真的可以删除反斜杠:

value = value.Replace("\\", "");

【讨论】:

    【解决方案2】:

    \ 实际上并不在字符串中,它只是为了阻止双引号提前终止字符串文字。

    字符串实际上是SELECT dbo.GetDefaultType("PartnerType") AS default_answer;

    value 可以很容易地声明为

    string value = @"SELECT dbo.GetDefaultType(""PartnerType"") AS default_answer;"
    

    字符串中的""仍然只是一个单引号"

    【讨论】:

    • @NithinChandran 我们可能永远不会知道......振作起来,phuzi。有时 ppl dv 因为他们的另一半早上有心情......
    • @Fildor 不用担心我,在不评论原因的情况下投反对票是没有建设性的 ?
    猜你喜欢
    • 2019-12-04
    • 1970-01-01
    • 2014-04-12
    • 2017-01-27
    • 2021-10-26
    • 2015-12-01
    相关资源
    最近更新 更多