C#在引号内加引号?

Posted

技术标签:

【中文标题】C#在引号内加引号?【英文标题】:C# Putting a quotation mark within quotation marks? 【发布时间】:2016-01-07 02:38:19 【问题描述】:

我正在使用 String.Replace 替换某些字符。如何用我选择的其他符号替换 " 符号?

artikelBezeichnung = artikelBezeichnung.Replace(""", "!");

这似乎不起作用

【问题讨论】:

Replace(@"""", "!"); ***.com/questions/9393879/… ***.com/questions/24652063/… ***.com/questions/3905946/… ***.com/questions/9582781/c-sharp-two-double-quotes 这个问题是否显示了任何研究工作?没有。 连谷歌都回答google.com/… @M.kazemAkhgary 看看this one then :) 知道如何逃避事情很有用,但你并不需要在这里。您需要一个字符一个字符的替换(即将'"' 替换为'!')。 【参考方案1】:

要么:

artikelBezeichnung = artikelBezeichnung.Replace("\"", "!");

或者:

artikelBezeichnung = artikelBezeichnung.Replace(@"""", "!");

【讨论】:

你的意思是Replace(@""", "!"); 吗? @Thomas 不,在逐字字符串中,插入引号将它们加倍,所以@"""" 感谢大家,不幸的是,谷歌不会搜索像“”这样的特殊符号 @"""" 确实,只有 3x " 使事情变得一团糟;) tyvmn【参考方案2】:

转义并不是真正必要的,因为String.Replace has an overload 接受char

artikelBezeichnung = artikelBezeichnung.Replace('"', '!');

【讨论】:

【参考方案3】:

你必须添加一个反斜杠。

artikelBezeichnung = artikelBezeichnung.Replace("\"", "!");

或添加@符号

artikelBezeichnung = artikelBezeichnung.Replace(@"""", "!");

【讨论】:

【参考方案4】:

引号是 C# 中的一个特殊字符。您需要将其用作string literal,您需要将其用作scape it:

使用斜线:

artikelBezeichnung = artikelBezeichnung.Replace("\"", "!");

或者使用@:

artikelBezeichnung = artikelBezeichnung.Replace(@"""", "!");

【讨论】:

与@Jcl 答案相同【参考方案5】:
string stringContainingContent = "fsdfsfsdfsdfsdfsdfsdfsf\"sdfsdfsdffsd";
            string test = "\"";
            string test1 = stringContainingContent.Replace(test, "!");

您可以使用跳过序列替换。

【讨论】:

【参考方案6】:

使用 ASCII

artikelBezeichnung = artikelBezeichnung.Replace(Char.ConvertFromUtf32(34), "!");

【讨论】:

以上是关于C#在引号内加引号?的主要内容,如果未能解决你的问题,请参考以下文章

如何处理C#中引号内的引号?

在正则表达式中使用引号,在 C# 中使用引号

有没有办法像在 javascript 中一样在 C# 中交替使用单引号和双引号?

使用正则表达式在 C# 中使用转义引号查找带引号的字符串

C#里 用字符串怎么输出双引号“

c#中如何获取包含单引号的两个引号的内容?