簡體   English   中英

C#中的雙引號字符串替換

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM