我必须在字符串中使用\“,但显然不能。 更具体地说,我需要执行以下操作: 假设字符串类似于:
I like cookie's "%s"
str = str.replace('"', '\"');
但是我需要替换后的字符串如下所示:
I Like cookie's \"%s\"
有人愿意帮助吗?
答案 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