如何在Java中不使用转义字符

时间:2019-07-05 12:56:37

标签: java escaping character

我必须在字符串中使用\“,但显然不能。 更具体地说,我需要执行以下操作: 假设字符串类似于:

I like cookie's "%s"

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

但是我需要替换后的字符串如下所示:

I Like cookie's \"%s\"

有人愿意帮助吗?

1 个答案:

答案 0 :(得分:1)

问题在于“和\都是特殊字符。为了将它们用作字符串中的文字,您需要对其进行转义。因此正确的方法是:

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

在这种情况下,字符串按原样细分,在字符周围或空格处留有空格:

" \" " This is an escaped quote
" \\ " This is an escaped backslash

因此,如果您想在反斜杠后面加上引号,则可以看到它被分解为:

" \\ \" " Quotes around the whole literal, an escaped backslash, an escaped quote