将'\'和'\\'用作转义字符时的区别

时间:2015-07-17 08:39:25

标签: java

我知道我们使用\n等转义字符作为下一行,\t作为标签。 但是今天在处理几个字符串时我遇到了\\$。 我必须打印"nike$"所以要打印它我必须将字符串修改为"nike\\$"。 我想知道\\\之间的确切区别。

1 个答案:

答案 0 :(得分:2)

在字符串文字中,\是一个转义:下面的下一个字符告诉我们它将做什么,就像你的\n换行示例一样。

这意味着您无法将\置于字符串中,因为它是转义序列的一半。相反,要在字符串中实际使用\,请使用\\

  

我必须打印"nike$"所以要打印它我必须将字符串修改为"nike\\$"

"nike\\$"会生成一个字符串,输出(例如,通过System.out.printlnnike\$,而不是nike$

您对\\$的使用向我建议您正在将正则表达式提供给某些内容,例如:

p = Pattern.compile("nike\\$");

在这种情况下,我们有两个转义级别:字符串文字和正则表达式。要在正则表达式中包含文字 $,必须由\进行转义,否则它将成为输入结束断言。为了在使用字符串文字时实际获得\$正则表达式解析器,我们必须转义文字中的反斜杠,这样我们实际上在字符串中有一个反斜杠供正则表达式引擎查看,因此{{1 }}