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#在引号内加引号?的主要内容,如果未能解决你的问题,请参考以下文章