[英]Double quote string replace in C#
如何在C#中替換下面的字符串
當前:
"John K "GEN" Greg"
目標:
"John K \"GEN\" Greg"
這是錯誤的,因為我沒有正確地逃避它:
s = s.Replace(""","\"");
用\\(斜杠)替換引號的語法是什么?
任何幫助,將不勝感激。
謝謝
s = s.Replace("\"", "\\\"");
要么
s = s.Replace(@"""", @"\""");
在第一個例子中, "
必須使用反斜杠進行轉義,否則它將結束字符串。同樣,在替換字符串\\\\
中需要通過轉義轉義字符來產生單個反斜杠。
在第二個示例中,使用逐字字符串文字,它們被寫為@"..."
。 在這些文字中,沒有識別出轉義序列,允許您以更清晰的方式編寫包含大量反斜杠的字符串(例如正則表達式)。 在那里工作的唯一轉義序列是""
為單個"
。
你應該使用雙反斜杠:
s = s.Replace("\"", "\\\"");
要從字符串中刪除所有引號,請嘗試:
field.Value = Regex.Replace(field.Value,@“[\\”“]”,“”,RegexOptions.None);
試圖在互聯網上找到這個答案是多么痛苦!
string MailFrom ="aaa@my.web.pk;\"PROMMS\" ccc@my.web.pk;";
string NewMailFrom = Regex.Replace(MailFrom, "\"[^\"]*\"", string.Empty);
Results
aaa@my.web.pk;ccc@my.web.pk;
s = s.Replace("\\"","\\\\\\"");
你逃脫了什么? 如果要將其插入到DB中,請考慮使用預准備語句 。 如果您要在HTML輸出中使用它,請考慮使用一些模板引擎代替您自己。
嘗試: var result = yourString.Replace("\\"", "\\\\\\"");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.