【问题标题】:How not to use escape character in java如何在java中不使用转义字符
【发布时间】:2019-07-05 12:56:37
【问题描述】:

我必须在字符串中使用 \" 但显然我不能。 更具体地说,我需要执行以下操作: 假设字符串是这样的:

I like cookie's "%s"

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

但我需要字符串在替换后看起来像这样:

I Like cookie's \"%s\"

有人愿意帮忙吗?

【问题讨论】:

  • str = str.replace("\"", "\\\""); 您还必须转义引号和反斜杠
  • 第一个\将转义第二个,然后第三个将转义",结果将是\"

标签: java escaping character


【解决方案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

【讨论】:

  • 您分解的转义示例使用的是正斜杠,而不是您打算使用的反斜杠。与开头的特殊字符相同。 \ 是特殊字符而不是 /。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-09
  • 2011-12-14
  • 2011-12-08
  • 1970-01-01
相关资源
最近更新 更多