Double quote string replace in C#
Solution 1:
s = s.Replace("\"", "\\\"");
or
s = s.Replace(@"""", @"\""");
In the first example the "
has to be escaped with a backslash as it would otherwise end the string. Likewise, in the replacement string \\
is needed to yield a single backslash by escaping the escape character.
In the second example verbatim string literals are used, they are written as @"..."
. In those literals no escape sequences are recognized, allowing you to write strings that contain lots of backslashes in a much cleaner way (such as regular expressions). The only escape sequence that works there is ""
for a single "
.
Solution 2:
You should use a double backslash:
s = s.Replace("\"", "\\\"");
Solution 3:
To remove ALL quotes from a string, try:
field.Value = Regex.Replace(field.Value, @"[\""]", "", RegexOptions.None);
What a pain trying to find this answer on the internet!