How to replace the below string in C#
Current:
"John K "GEN" Greg"
The Goal:
"John K \"GEN\" Greg"
This is wrong because I'm not escaping it properly:
s = s.Replace(""","\"");
What is syntax for replacing quotes with \ (slash)?
Any help would be appreciated.
Thanks
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 "
.
You should use a double backslash:
s = s.Replace("\"", "\\\"");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With