how to replace "(double quotes) in a string with \" in java

net user picture net user · Oct 10, 2013 · Viewed 83.2k times · Source

I have string variable strVar with value as ' "value1" ' and i want to replace all the double quotes in the value with ' \" '. So after replacement value would look like ' \"value1\" '

How to do this in java? Kindly help me.

Answer

Pshemo picture Pshemo · Oct 10, 2013

You are looking for

str = str.replace("\"", "\\\"")

DEMO

I would avoid using replaceAll since it uses regex syntax in description of what to replace and how to replace, which means that \ will have to be escaped in string "\\" but also in regex \\ (needs to be written as "\\\\" string) which means that we would need to use

str = str.replaceAll("\"", "\\\\\"");

or probably little cleaner:

str = str.replaceAll("\"", Matcher.quoteReplacement("\\\""))

With replace we have escaping mechanism added automatically.